summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2015-01-02 21:14:07 +0100
committerHiltjo Posthuma <hiltjo@codemadness.org>2015-01-02 21:14:07 +0100
commit86993965de423bdd9f4cfb146929a1cdd9fbc0b2 (patch)
tree22657797ec44c475d3ae29e24a77764dfef390bb /util.c
parent43f02f646c97ddbc4dc41fe9e119506cf95e0b28 (diff)
trim string
Diffstat (limited to 'util.c')
-rw-r--r--util.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/util.c b/util.c
index b6c5fd2..ced4d9d 100644
--- a/util.c
+++ b/util.c
@@ -76,12 +76,35 @@ parseline(char **line, size_t *size, char **fields,
return i;
}
+const char *
+trimend(const char *s)
+{
+ size_t len = strlen(s);
+
+ for(; len > 0 && isspace((int)s[len - 1]); len--)
+ ;
+ return &s[len];
+}
+
+const char *
+trimstart(const char *s)
+{
+ for(; *s && isspace((int)*s); s++)
+ ;
+ return s;
+}
+
/* print feed name for id; spaces and tabs in string as "-"
* (spaces in anchors are not valid). */
void
printfeednameid(const char *s, FILE *fp)
{
- for(; *s; s++)
+ const char *e;
+
+ s = trimstart(s);
+ e = trimend(s);
+
+ for(; *s && s != e; s++)
fputc(isspace((int)*s) ? '-' : tolower((int)*s), fp);
}