From: Andre Date: Sat, 25 Mar 2006 19:38:42 +0000 (+0100) Subject: s_a_r_list(): return NULL on errors X-Git-Tag: v0.2.12~139 X-Git-Url: http://git.tuebingen.mpg.de/?a=commitdiff_plain;h=a4bfba86151b74bc2abb9d54d45d48db3c11496f;hp=dd172e4c54a6368087b183fd7d821862b038ea5f;p=paraslash.git s_a_r_list(): return NULL on errors And fix the documentation. --- diff --git a/string.c b/string.c index 07f54a07..156404c4 100644 --- a/string.c +++ b/string.c @@ -210,8 +210,8 @@ __must_check __malloc char *para_basename(const char *name) * string which may contain a single string conversion specifier which gets * replaced by 'arg'. * - * \return A string in which all matches in \a src are replaced, or NULL if \a - * macro_name was not found in \a src. Caller must free the result. + * \return A string in which all matches in \a src are replaced, or NULL if an + * syntax error was encountered. Caller must free the result. * * \sa regcomp(3) */ @@ -273,8 +273,8 @@ __must_check __malloc char *s_a_r_list(struct para_macro *macro_list, char *src) while (mp->name) { ret = s_a_r(tmp, mp->name, mp->replacement); free(tmp); - if (!ret) - return src; /* FIXME: shouldn't we continue here? */ + if (!ret) /* syntax error */ + return NULL; tmp = ret; mp++; }