From 48d198f1e1fc22a5dadadd70a261996d4f01ac39 Mon Sep 17 00:00:00 2001 Message-Id: <48d198f1e1fc22a5dadadd70a261996d4f01ac39.1715106323.git.mdw@distorted.org.uk> From: Mark Wooding Date: Wed, 22 Dec 1999 15:41:14 +0000 Subject: [PATCH] Skip past trailing whitespace in str_getword. Organization: Straylight/Edgeware From: mdw --- str.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/str.c b/str.c index b6e4813..0defaa7 100644 --- a/str.c +++ b/str.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: str.c,v 1.2 1999/05/26 20:52:57 mdw Exp $ + * $Id: str.c,v 1.3 1999/12/22 15:41:14 mdw Exp $ * * Functions for hacking with strings * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: str.c,v $ + * Revision 1.3 1999/12/22 15:41:14 mdw + * Skip past trailing whitespace in str_getword. + * * Revision 1.2 1999/05/26 20:52:57 mdw * Add new `rest' argument for `str_split'. * @@ -71,8 +74,12 @@ char *str_getword(char **pp) for (q = p; *q; q++) { if (isspace((unsigned char)*q)) { - *q = 0; - *pp = q + 1; + *q++ = 0; + while (*q && isspace((unsigned char)*q)) + q++; + if (!*q) + q = 0; + *pp = q; return (p); } } @@ -111,24 +118,12 @@ size_t str_split(char *p, char *v[], size_t c, char **rest) c--; n++; } - while (c) { *v++ = 0; c--; } - - if (rest) { - if (!p) - *rest = 0; - else { - while (isspace((unsigned char)*p)) - p++; - if (*p) - *rest = p; - else - *rest = 0; - } - } + if (rest) + *rest = p; return (n); } -- [mdw]