summaryrefslogtreecommitdiff
path: root/src/util/Misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/Misc.c')
-rw-r--r--src/util/Misc.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/util/Misc.c b/src/util/Misc.c
index ec56de20..20d8f133 100644
--- a/src/util/Misc.c
+++ b/src/util/Misc.c
@@ -127,6 +127,7 @@ char *Util_NullTerminateString(const char *instring, unsigned int len)
{
char *outstring;
unsigned int i;
+ int position;
if (len > 100000)
{
@@ -142,13 +143,19 @@ char *Util_NullTerminateString(const char *instring, unsigned int len)
printf("Util_NullTerminateString: -%s-, (%u)\n",instring,len);
#endif
- outstring = (char *)malloc((len+2)*sizeof(char));
+ position = len-1;
+ while (instring[position] == ' ')
+ {
+ position--;
+ }
+
+ outstring = (char *)malloc((position+2)*sizeof(char));
assert(outstring);
- for (i=0;i<len;i++)
+ for (i=0;i<=position;i++)
outstring[i] = instring[i];
- outstring[len] = '\0';
+ outstring[position+1] = '\0';
return(outstring);
}