X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Futils%2Fliblustreapi_json.c;h=10e8e76d48e93aeb9d2cd432d1cb0690d7319262;hp=be9a1e89271f2f14feff946966973efb66f36cf6;hb=54436c727ba242954e64b7ef16c8186550c1a6f9;hpb=45c9ef1dfff207086665c764c7d500c00aa03c7f diff --git a/lustre/utils/liblustreapi_json.c b/lustre/utils/liblustreapi_json.c index be9a1e8..10e8e76 100644 --- a/lustre/utils/liblustreapi_json.c +++ b/lustre/utils/liblustreapi_json.c @@ -41,7 +41,7 @@ #include #endif -#include +#include #include /** Quick-n'-dirty JSON string escape routine. @@ -124,8 +124,7 @@ int llapi_json_write_list(struct llapi_json_item_list **json_items, FILE *fp) list = *json_items; item = list->ljil_items; - if (fprintf(fp, "{") < 0) - return -errno; + fprintf(fp, "{"); for (i = 0; i < list->ljil_item_count; i++) { if (item == NULL) { llapi_err_noerrno(LLAPI_MSG_ERROR, @@ -136,34 +135,26 @@ int llapi_json_write_list(struct llapi_json_item_list **json_items, FILE *fp) break; } - if (fprintf(fp, "\"%s\": ", item->lji_key) < 0) - return -errno; + fprintf(fp, "\"%s\": ", item->lji_key); switch (item->lji_type) { case LLAPI_JSON_INTEGER: - if (fprintf(fp, "%d", item->lji_integer) < 0) - return -errno; + fprintf(fp, "%d", item->lji_integer); break; case LLAPI_JSON_BIGNUM: - if (fprintf(fp, LPU64, item->lji_u64) < 0) - return -errno; + fprintf(fp, LPU64, item->lji_u64); break; case LLAPI_JSON_REAL: - if (fprintf(fp, "%f", item->lji_real) < 0) - return -errno; + fprintf(fp, "%f", item->lji_real); break; case LLAPI_JSON_STRING: if (llapi_json_escape_string(&escaped_string, - item->lji_string) < 0) { + item->lji_string) < 0) { if (escaped_string != NULL) free(escaped_string); return -errno; } - if (fprintf(fp, "\"%s\"", escaped_string) < 0) { - if (escaped_string != NULL) - free(escaped_string); - return -errno; - } + fprintf(fp, "\"%s\"", escaped_string); if (escaped_string != NULL) free(escaped_string); @@ -172,19 +163,16 @@ int llapi_json_write_list(struct llapi_json_item_list **json_items, FILE *fp) llapi_err_noerrno(LLAPI_MSG_ERROR, "Invalid item type: %d", item->lji_type); /* Ensure valid JSON */ - if (fprintf(fp, "\"\"") < 0) - return -errno; + fprintf(fp, "\"\""); break; } if (i < list->ljil_item_count - 1) - if (fprintf(fp, ", ") < 0) - return -errno; + fprintf(fp, ", "); item = item->lji_next; } - if (fprintf(fp, "}\n") < 0) - return -errno; + fprintf(fp, "}\n"); return 0; } @@ -269,6 +257,7 @@ int llapi_json_add_item(struct llapi_json_item_list **json_items, { struct llapi_json_item_list *list; struct llapi_json_item *new_item; + size_t len; if (json_items == NULL || *json_items == NULL) return -EINVAL; @@ -282,11 +271,12 @@ int llapi_json_add_item(struct llapi_json_item_list **json_items, if (new_item == NULL) return -ENOMEM; - new_item->lji_key = calloc(1, strlen(key) + 1); + len = strlen(key) + 1; + new_item->lji_key = calloc(len, sizeof(char)); if (new_item->lji_key == NULL) return -ENOMEM; - strncpy(new_item->lji_key, key, strlen(key)); + strlcpy(new_item->lji_key, key, len); new_item->lji_type = type; new_item->lji_next = NULL; @@ -301,11 +291,11 @@ int llapi_json_add_item(struct llapi_json_item_list **json_items, new_item->lji_real = *(double *)val; break; case LLAPI_JSON_STRING: - new_item->lji_string = calloc(1, strlen((char *)val) + 1); + len = strlen((char *)val) + 1; + new_item->lji_string = calloc(len, sizeof(char)); if (new_item->lji_string == NULL) return -ENOMEM; - strncpy(new_item->lji_string, - (char *)val, strlen((char *)val)); + strlcpy(new_item->lji_string, (char *)val, len); break; default: llapi_err_noerrno(LLAPI_MSG_ERROR, "Unknown JSON type: %d",