From b417a6431e89ea4f57d48c1ca169c5cc3cc7a4cd Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 8 Jul 2015 11:28:30 +0200 Subject: Debugging; word sizes (Int -> pointer); fix CleanStrings --- Linux_C_12/util_121.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Linux_C_12/util_121.c') diff --git a/Linux_C_12/util_121.c b/Linux_C_12/util_121.c index f0a3de7..544cff6 100644 --- a/Linux_C_12/util_121.c +++ b/Linux_C_12/util_121.c @@ -9,6 +9,7 @@ Generally applicable utility routines. ********************************************************************************************/ #include "util_121.h" +#include "Clean.h" #include #include #include @@ -206,14 +207,22 @@ void WinGetCStringAndFree (PSTR cs, OS ios, CLEAN_STRING * cls, OS * oos) void WinMakeCString (CLEAN_STRING s, OS ios, PSTR * cs, OS * oos) { + char* chars = rmalloc(CleanStringLength(s) + 1); rprintf("(MCS: \""); - *cs = (char *) rmalloc ((s->length) + 1); + *cs = (char*) rmalloc (CleanStringLength(s) + 1 + sizeof(int)); - rsncopy (*cs, s->characters, s->length); - (*cs)[s->length] = 0; + rprintf("length: %d\n", CleanStringLength(s)); + + int i; + for (i = 0; i < CleanStringLength(s); i++) + chars[i] = CleanStringCharacters(s)[i]; + chars[i] = 0; + + rsncopy (*cs, chars, CleanStringLength(s) + 1); + (*cs)[CleanStringLength(s) + 1] = CleanStringLength(s); *oos = ios; - rprintf("\"%s)\n",*cs); + rprintf("\"%s)\n",chars); } /* WinMakeCString */ -- cgit v1.2.3