Jim Meyering wrote:

> +# elif HAVE_DECL___ARGV
> +  return last_component (__argv);

This should be:
  return last_component (*__argv);

Or with a bit more care:
  if (*__argv == NULL)
     return ("?");
  return last_component (__argv);

And in the test:

+int
+main (void)
+{
+  char const *p = getprogname ();
+  assert (STREQ (p, "test-getprogname"));
+  return 0;
+}


getprogname() would return "test-getprogname.exe" on
Windows. Hence a fail.


BTW, what is 'base' used for here:

# elif HAVE_GETEXECNAME
  const char *base = getexecname ();
  if (!base)
    base = "?";
  return last_component (program_invocation_name);

-- 
--gv

Reply via email to