return -1;
if (data_len != 16)
- return -1;
+ return -2;
Md5Type lookup = { .rep.value = 0 };
memcpy(lookup.md5, data, 16);
return -1;
if (data_len != 16)
- return -1;
+ return -2;
Md5Type lookup = { .rep = *rep };
memcpy(lookup.md5, data, 16);
return -1;
if (data_len != 32)
- return 0;
+ return -2;
Sha256Type lookup = { .rep = *rep };
memcpy(lookup.sha256, data, 32);
return -1;
if (data_len != 32)
- return 0;
+ return -2;
Sha256Type lookup = { .rep.value = 0 };
memcpy(lookup.sha256, data, 32);
return -1;
}
-/** \brief add serialized data to set */
+/** \brief add serialized data to set
+ * \retval int 1 added
+ * \retval int 0 already in hash
+ * \retval int -1 API error (not added)
+ * \retval int -2 DATA error
+ */
int DatasetAddSerialized(Dataset *set, const char *string)
{
if (set == NULL)
uint8_t decoded[strlen(string)];
uint32_t len = DecodeBase64(decoded, (const uint8_t *)string, strlen(string), 1);
if (len == 0) {
- return -1;
+ return -2;
}
return DatasetAddString(set, decoded, len);
}
case DATASET_TYPE_MD5: {
if (strlen(string) != 32)
- return -1;
+ return -2;
uint8_t hash[16];
if (HexToRaw((const uint8_t *)string, 32, hash, sizeof(hash)) < 0)
- return -1;
+ return -2;
return DatasetAddMd5(set, hash, 16);
}
case DATASET_TYPE_SHA256: {
if (strlen(string) != 64)
- return -1;
+ return -2;
uint8_t hash[32];
if (HexToRaw((const uint8_t *)string, 64, hash, sizeof(hash)) < 0)
- return -1;
+ return -2;
return DatasetAddSha256(set, hash, 32);
}
}