From: Johannes Sixt Date: Sat, 23 Jan 2016 19:02:12 GMT Subject: Re: [PATCH v4 1/4] Refactor skipping DOS drive prefixes Message-ID: <56A3CE34.20808@kdbg.org> In-Reply-To: Am 23.01.2016 um 09:25 schrieb Johannes Schindelin: > Hi Junio, > > On Fri, 22 Jan 2016, Junio C Hamano wrote: > >> Johannes Sixt writes: >> >>> I suggest to move the function definition out of line: >>> >>> diff --git a/compat/mingw.c b/compat/mingw.c >>> index 10a51c0..0cebb61 100644 >>> --- a/compat/mingw.c >>> +++ b/compat/mingw.c >>> @@ -1915,6 +1915,13 @@ pid_t waitpid(pid_t pid, int *status, int options) >>> return -1; >>> } >>> >>> +int mingw_skip_dos_drive_prefix(char **path) >>> +{ >>> + int ret = has_dos_drive_prefix(*path); >>> + *path += ret; >>> + return ret; >>> +} >>> + >>> int mingw_offset_1st_component(const char *path) >>> { >>> char *pos = (char *)path; >>> diff --git a/compat/mingw.h b/compat/mingw.h >>> index 9b5db4e..2099b79 100644 >>> --- a/compat/mingw.h >>> +++ b/compat/mingw.h >>> @@ -360,12 +360,7 @@ HANDLE winansi_get_osfhandle(int fd); >>> >>> #define has_dos_drive_prefix(path) \ >>> (isalpha(*(path)) && (path)[1] == ':' ? 2 : 0) >>> -static inline int mingw_skip_dos_drive_prefix(char **path) >>> -{ >>> - int ret = has_dos_drive_prefix(*path); >>> - *path += ret; >>> - return ret; >>> -} >>> +int mingw_skip_dos_drive_prefix(char **path); >>> #define skip_dos_drive_prefix mingw_skip_dos_drive_prefix >>> #define is_dir_sep(c) ((c) == '/' || (c) == '\\') >>> static inline char *mingw_find_last_dir_sep(const char *path) >> >> This sounds good to me. Dscho? > > Yep, sounds good to me, too. > > Personally, I have no inclination to add compatibility with the > now-safely-obsolete MSys to my responsibilities, but if Hannes wants to do > it, who am I to stand in his way? Especially when the fix is as trivial as > here. This is not a matter of compatibility. I am VERY curious why you do not see an error (or warning) without my proposed fixup. As I mentioned, isalpha() is defined much later than the definition of mingw_skip_dos_drive_prefix(). Where does your build get a declaration of isalpha() from? -- Hannes