From: Junio C Hamano Date: Mon, 03 Jun 2024 19:04:37 GMT Subject: Re: [PATCH v3 15/27] compat/win32: fix const-correctness with string constants Message-ID: In-Reply-To: Eric Sunshine writes: > On Mon, Jun 3, 2024 at 5:46 AM Patrick Steinhardt wrote: >> Adjust various places in our Win32 compatibility layer where we are not >> assigning string constants to `const char *` variables. >> >> Signed-off-by: Patrick Steinhardt >> --- >> diff --git a/compat/basename.c b/compat/basename.c >> @@ -1,6 +1,8 @@ >> +static char current_directory[] = "."; >> @@ -10,7 +12,13 @@ char *gitbasename (char *path) >> if (!path || !*path) >> - return "."; >> + /* >> + * basename(3P) is mis-specified because it returns a >> + * non-constant pointer even though it is specified to return a >> + * pointer to internal memory at times. The cast is a result of >> + * that. >> + */ >> + return (char *) ""; > > The change from returning "." to returning "" is unexplained by the > commit message. Did you mean to return the newly-introduced > `current_directory` instead? I suspect that these places wanted to return (char *) "." instead, without introducing a new variable.