My main motive was to not *stop* the process when a long path is met. Because somebody created a repository on Linux with a long file-name doesn't mean you should not be able to clone it *at all* on Windows. On Sun, Oct 20, 2013 at 12:33 PM, Duy Nguyen <pclouds@xxxxxxxxx> wrote: > On Sun, Oct 20, 2013 at 12:47 PM, Torsten Bögershausen <tboegi@xxxxxx> wrote: >> I'm not sure how to handle overlong path in general, there are several ways: >> a) Silently overwrite memory (with help of memcpy() and/or strcpy() This one stop the process, as the application crashes :-) >> b) Silently shorten the path using strlcpy() instead of strcpy() I was expecting this solution to fail later in a non-blocking way (e.g. "Can't checkout file $truncated_path, continuing with other files"). Maybe it would be better to look at each specific call site and see if there is a way to report a problem ('return error("Can't checkout %s: path too long")') >> c) Avoid the overwriting and call die(). This one also stops the process, with an error (of course that's better than point a) >> d) Prepare a longer buffer using xmalloc() > d+) Use strbuf This of course looks like the best solution, but I believe PATH_MAX exists for a reason, and maybe we can't simply ignore that value ? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html