Last version before deleting Makefile and CmakeLists.txt
This commit is contained in:
36
nostr_core/utils.c
Normal file
36
nostr_core/utils.c
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* NOSTR Core Library - Utilities
|
||||
*
|
||||
* General utility functions used across multiple NIPs
|
||||
*/
|
||||
|
||||
#include "utils.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/**
|
||||
* Convert bytes to hexadecimal string
|
||||
*/
|
||||
void nostr_bytes_to_hex(const unsigned char* bytes, size_t len, char* hex) {
|
||||
for (size_t i = 0; i < len; i++) {
|
||||
sprintf(hex + i * 2, "%02x", bytes[i]);
|
||||
}
|
||||
hex[len * 2] = '\0';
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert hexadecimal string to bytes
|
||||
*/
|
||||
int nostr_hex_to_bytes(const char* hex, unsigned char* bytes, size_t len) {
|
||||
if (strlen(hex) != len * 2) {
|
||||
return -1; // NOSTR_ERROR_INVALID_INPUT
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < len; i++) {
|
||||
if (sscanf(hex + i * 2, "%02hhx", &bytes[i]) != 1) {
|
||||
return -1; // NOSTR_ERROR_INVALID_INPUT
|
||||
}
|
||||
}
|
||||
return 0; // NOSTR_SUCCESS
|
||||
}
|
||||
Reference in New Issue
Block a user