From: Johannes Sixt Date: Tue, 09 Feb 2010 19:10:43 GMT Subject: Re: [PATCH 1/4] make_absolute_path(): Do not append redundant slash Message-ID: <201002092010.43910.j6t@kdbg.org> In-Reply-To: <1265734950-15145-1-git-send-email-pclouds@gmail.com> On Dienstag, 9. Februar 2010, Nguyễn Thái Ngọc Duy wrote: > @@ -54,8 +54,9 @@ const char *make_absolute_path(const char *path) > if (len + strlen(last_elem) + 2 > PATH_MAX) > die ("Too long path name: '%s/%s'", > buf, last_elem); > - buf[len] = '/'; > - strcpy(buf + len + 1, last_elem); > + if (*buf != '/' || buf[1] != '\0') > + buf[len++] = '/'; Huh? You are adding a slash unless buf is exactly "/". That is, when buf is "/foo/" you still add a slash? That's not exactly avoiding redundancy. (Disclaimer: I didn't analyze the rest of the function whether my claim is true.) > + strcpy(buf + len, last_elem); > free(last_elem); > last_elem = NULL; > } -- Hannes