--- psiconv/trunk/lib/psiconv/generate_simple.c 2004/01/04 15:47:16 181 +++ psiconv/trunk/lib/psiconv/generate_simple.c 2004/01/04 22:07:02 182 @@ -29,6 +29,7 @@ #include #endif +static int psiconv_write_string_aux(const psiconv_config config,psiconv_buffer buf, const psiconv_string_t value,int kind); int psiconv_write_u8(const psiconv_config config,psiconv_buffer buf,const psiconv_u8 value) { @@ -105,13 +106,27 @@ int psiconv_write_string(const psiconv_config config,psiconv_buffer buf, const psiconv_string_t value) { + return psiconv_write_string_aux(config,buf,value,0); +} + +int psiconv_write_short_string(const psiconv_config config,psiconv_buffer buf, const psiconv_string_t value) +{ + return psiconv_write_string_aux(config,buf,value,1); +} + +int psiconv_write_string_aux(const psiconv_config config,psiconv_buffer buf, const psiconv_string_t value,int kind) +{ int res,i; if (!value) { psiconv_warn(config,0,psiconv_buffer_length(buf), "NULL string"); return -PSICONV_E_GENERATE; } - if ((res = psiconv_write_S(config,buf,strlen(value)))) + if (kind == 0) + res = psiconv_write_S(config,buf,strlen(value)); + else + res = psiconv_write_u8(config,buf,strlen(value)); + if (res) return res; for (i = 0; i < strlen(value); i++) if ((res = psiconv_write_u8(config,buf,value[i])))