X-Git-Url: http://nitlanguage.org diff --git a/c_src/string_nit.c b/c_src/string_nit.c index 0159249..050ab95 100644 --- a/c_src/string_nit.c +++ b/c_src/string_nit.c @@ -11,10 +11,22 @@ #include "string_nit.h" +// Returns the length of `recv` as a `char*` (excluding the null character) +long native_int_length_str(long recv){ + return snprintf(NULL, 0, "%ld", recv); +} + // Integer to NativeString method -char* native_int_to_s(long recv){ - int len = snprintf(NULL, 0, "%ld", recv); - char* str = malloc(len); - sprintf(str, "%ld", recv); - return str; +void native_int_to_s(long recv, char* str, long buflen){ + snprintf(str, buflen, "%ld", recv); +} + +// Returns the length of `recv` as a `char*` (excluding the null character) +long native_byte_length_str(unsigned char recv){ + return snprintf(NULL, 0, "0x%02x", recv); +} + +// Byte to NativeString method +void native_byte_to_s(unsigned char recv, char* str, long buflen){ + snprintf(str, buflen, "0x%02x", recv); }