From f25da8d01f8d783fff627a95628a73b037526245 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 10 Mar 2000 08:24:48 +0000 Subject: * string/argz-stringify.c (__argz_stringify): Fix loop termination conditions so as not to clobber the final '\0' when there is only one element in the vector. --- string/argz-stringify.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'string/argz-stringify.c') diff --git a/string/argz-stringify.c b/string/argz-stringify.c index 0bbc807953..83ff119400 100644 --- a/string/argz-stringify.c +++ b/string/argz-stringify.c @@ -1,7 +1,7 @@ /* Routines for dealing with '\0' separated arg vectors. - Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc. + Copyright (C) 1995,96,97,2000 Free Software Foundation, Inc. This file is part of the GNU C Library. - Written by Miles Bader + Written by Miles Bader The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -27,15 +27,14 @@ void __argz_stringify (char *argz, size_t len, int sep) { if (len > 0) - do + while (1) { size_t part_len = strnlen (argz, len); argz += part_len; len -= part_len; - if (len == 0) + if (len-- <= 1) /* includes final '\0' we want to stop at */ break; *argz++ = sep; } - while (--len > 0); } weak_alias (__argz_stringify, argz_stringify) -- cgit v1.2.3