Added string copy constructor

This commit is contained in:
Rexy712 2019-06-26 18:07:19 -07:00
parent dc0c003785
commit d3c99152fc
2 changed files with 7 additions and 0 deletions

View File

@ -120,6 +120,7 @@ RJP_value rjp_integer(long i);
RJP_value rjp_boolean(char b); RJP_value rjp_boolean(char b);
RJP_value rjp_dfloat(double d); RJP_value rjp_dfloat(double d);
RJP_value rjp_string(char* c, size_t len); RJP_value rjp_string(char* c, size_t len);
RJP_value rjp_string_copy(const char* c);
RJP_value rjp_null(void); RJP_value rjp_null(void);
RJP_value rjp_object(void); RJP_value rjp_object(void);
RJP_value rjp_array(void); RJP_value rjp_array(void);

View File

@ -97,6 +97,12 @@ RJP_value rjp_dfloat(double d){
RJP_value rjp_string(char* c, size_t len){ RJP_value rjp_string(char* c, size_t len){
return (RJP_value){.string = {.value = c, .length = len}, .type = json_string}; return (RJP_value){.string = {.value = c, .length = len}, .type = json_string};
} }
RJP_value rjp_string_copy(const char* c){
size_t esclen = rjp_escape_strlen(c);
char* tmp = rjp_alloc(esclen+1);
rjp_escape_strcpy(tmp, c);
return (RJP_value){.string = {.value = tmp, .length = esclen}, .type = json_string};
}
RJP_value rjp_null(void){ RJP_value rjp_null(void){
return (RJP_value){.integer = 0, .type = json_null}; return (RJP_value){.integer = 0, .type = json_null};
} }