#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);
}