Quellcode durchsuchen

JSON: writeJsonObjElm takes a char key

Julius Pfrommer vor 5 Jahren
Ursprung
Commit
2b07310bdd
2 geänderte Dateien mit 4 neuen und 9 gelöschten Zeilen
  1. 2 7
      src/ua_types_encoding_json.c
  2. 2 2
      src/ua_types_encoding_json.h

+ 2 - 7
src/ua_types_encoding_json.c

@@ -145,14 +145,9 @@ writeJsonArrElm(CtxJson *ctx, const void *value,
     return ret;
 }
 
-status writeJsonObjElm(CtxJson *ctx, UA_String *key,
+status writeJsonObjElm(CtxJson *ctx, const char *key,
                        const void *value, const UA_DataType *type){
-    UA_STACKARRAY(char, out, key->length + 1);
-    memcpy(out, key->data, key->length);
-    out[key->length] = 0;
-    status ret = writeJsonKey(ctx, out);
-    ret |= encodeJsonInternal(value, type, ctx);
-    return ret;
+    return writeJsonKey(ctx, key) | encodeJsonInternal(value, type, ctx);
 }
 
 status writeJsonNull(CtxJson *ctx) {

+ 2 - 2
src/ua_types_encoding_json.h

@@ -60,7 +60,7 @@ typedef struct {
 } CtxJson;
 
 UA_StatusCode writeJsonObjStart(CtxJson *ctx);
-UA_StatusCode writeJsonObjElm(CtxJson *ctx, UA_String *key,
+UA_StatusCode writeJsonObjElm(CtxJson *ctx, const char *key,
                               const void *value, const UA_DataType *type);
 UA_StatusCode writeJsonObjEnd(CtxJson *ctx);
 
@@ -81,7 +81,7 @@ calcJsonObjStart(CtxJson *ctx) {
 }
 
 static UA_INLINE UA_StatusCode
-calcJsonObjElm(CtxJson *ctx, UA_String *key,
+calcJsonObjElm(CtxJson *ctx, const char *key,
                const void *value, const UA_DataType *type) {
     UA_assert(ctx->calcOnly);
     return writeJsonObjElm(ctx, key, value, type);