#line 9 "trim.c-nw" #include EXPORT void del_trailing_blanks(char *s) { int i; if (!s) return; for (i = strlen(s) - 1; i >= 0 && isspace(s[i]); i--) s[i] = '\0'; } EXPORT void trim(char *s) { int i, j; if (!s) return; for (j = 0; isspace(s[j]); j++) ; for (i = strlen(s); i > j && isspace(s[i-1]); i--) s[i-1] = '\0'; if (j != 0) memmove(s, s + j, i - j + 1); } EXPORT void minimize(char *s) { int i, j; if (!s) return; for (j = 0; isspace(s[j]); j++) ; /* Skip initial whitespace */ for (i = 0; s[j]; i++) if (isspace(s[j])) { s[i] = ' '; /* Insert a space */ do j++; while (isspace(s[j])); /* Skip other whitespace */ } else if (i != j) s[i] = s[j++]; /* Copy character */ if (i != 0 && s[i-1] == ' ') s[i-1] = '\0'; else if (i != j) s[i] = '\0'; }