--- psiconv/trunk/lib/psiconv/misc.c 2004/01/06 20:15:01 184 +++ psiconv/trunk/lib/psiconv/misc.c 2004/02/23 17:01:50 222 @@ -1,6 +1,6 @@ /* parse_aux.c - Part of psiconv, a PSION 5 file formats converter - Copyright (c) 1999, 2000 Frodo Looijaard + Copyright (c) 1999-2004 Frodo Looijaard This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,29 +33,19 @@ char *psiconv_make_printable(const psiconv_config config, const psiconv_string_t input) { - int i,len; - psiconv_u8 *intermed; + int i; char *output; - int res; - if ((res = psiconv_unicode_to_chars(config,input,&intermed))) - return NULL; - - len = 0; - while (intermed[len]) - len++; - - if (!(output = malloc(sizeof(*output) * (len + 1)))) { - free(intermed); + if (!(output = malloc(sizeof(*output) * + (psiconv_unicode_strlen(input) + 1)))) { return NULL; } - for (i = 0; i < len; i ++) - if (intermed[i] < 0x20 || intermed[i] >= 0x7f) + for (i = 0; i < psiconv_unicode_strlen(input); i ++) + if (input[i] < 0x20 || input[i] >= 0x7f) output[i] = '.'; else - output[i] = intermed[i]; + output[i] = input[i]; output[i] = 0; - free(intermed); return output; }