Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > On Mon, Jun 3, 2024 at 5:46 AM Patrick Steinhardt <ps@xxxxxx> 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 <ps@xxxxxx> >> --- >> 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.