From a4bfba86151b74bc2abb9d54d45d48db3c11496f Mon Sep 17 00:00:00 2001 From: Andre Date: Sat, 25 Mar 2006 20:38:42 +0100 Subject: [PATCH 1/1] s_a_r_list(): return NULL on errors And fix the documentation. --- string.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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++; } -- 2.39.2