Skip to content
Snippets Groups Projects
Commit 5fa9c7d3 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

decode_fdbitem: fix for only one key without value

parent a93a9b5a
No related branches found
No related tags found
1 merge request!80M214003/develop
Pipeline #58169 passed
......@@ -47,9 +47,10 @@ decode_fdbitem(const char *fdbItem, KeyValueEntry *keyValue)
}
}
keyValue->numKeys = numKeys;
// keyValue->numKeys = numKeys;
// for (int i = 0; i < numKeys; i++) printf("%d <%s>\n", i, itemKeys[i]);
int n = 0;
for (int i = 0; i < numKeys; i++)
{
char *itemKey = itemKeys[i];
......@@ -57,6 +58,7 @@ decode_fdbitem(const char *fdbItem, KeyValueEntry *keyValue)
for (int k = 0; k < len; k++)
if (itemKey[k] == '=')
{
n++;
itemKey[k] = 0;
itemValues[i] = &itemKey[k + 1];
break;
......@@ -64,6 +66,8 @@ decode_fdbitem(const char *fdbItem, KeyValueEntry *keyValue)
// printf("key <%s> value <%s>\n", itemKeys[i], itemValues[i]);
}
keyValue->numKeys = n;
}
static int
......@@ -372,11 +376,11 @@ fdb_request_t *
create_fdb_request(const char *filename)
{
size_t len = strlen(filename);
if (len == 4) Error("Empty FDB request!");
if (len == 6) Error("Empty FDB request!");
KeyValueEntry keyValue;
keyValue.item = NULL;
decode_fdbitem(filename + 4, &keyValue);
decode_fdbitem(filename + 6, &keyValue);
if (keyValue.numKeys == 0) Error("Empty FDB request!");
......
......@@ -122,11 +122,11 @@ cdi_fdb_store(void *fdbHandle, const char *filename, void *gribbuffer, size_t nb
{
#ifdef HAVE_LIBFDB5
size_t len = strlen(filename);
if (len == 4) Error("FDB keys missing!");
if (len == 6) Error("FDB keys missing!");
KeyValueEntry keyValue;
keyValue.item = NULL;
decode_fdbitem(filename + 4, &keyValue);
decode_fdbitem(filename + 6, &keyValue);
if (keyValue.numKeys == 0) Error("FDB keys missing!");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment