git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Re: [PATCH v3 3/8] mingw: make failures to unlink or move raise a question

From
Heiko Voigt <hvoigt@hvoigt.net>
Date
Dec 15, 2010, 07:36 UTC
Message-ID
<20101215073639.GB14646@book.hvoigt.net>
In-Reply-To
<alpine.DEB.1.00.1012150109340.1461@bonsai2>
Hi,
On Wed, Dec 15, 2010 at 01:11:03AM +0100, Johannes Schindelin wrote:
> On Tue, 14 Dec 2010, Erik Faye-Lund wrote:
> 
> > On Tue, Dec 14, 2010 at 11:21 PM, Heiko Voigt <hvoigt@hvoigt.net> wrote:
[...]
Show 18 quoted lines
> > > +       if (answer[0] == 'y' && strlen(answer) == 1)
> > > +               return 1;
> > > +       if (!strncasecmp(answer, "yes", sizeof(answer)))
> > > +               return 1;
> > > +       if (answer[0] == 'n' && strlen(answer) == 1)
> > > +               return 0;
> > > +       if (!strncasecmp(answer, "no", sizeof(answer)))
> > > +               return 0;
> > 
> > Since you're doing case insensitive checks for "yes" and "no", perhaps
> > it'd make sense to allow upper case 'Y' and 'N' also? Something like:
> > 
> > -       if (answer[0] == 'n' && strlen(answer) == 1)
> > +       if (tolower(answer[0]) == 'n' && strlen(answer) == 1)
> > 
> > hm?
> 
> Makes sense to me.
Will do in the next iteration.
> > > +static int ask_user_yes_no(const char *format, ...)
[...]
Show 9 quoted lines
> > 
> > I'm wondering, doesn't this make the semantics a bit wrong? The
> > function is called "ask_user_yes_no", but it might end up not asking
> > after all. Perhaps it should be called something that reflects this?
> > "maybe_ask_yes_no", "ask_yes_no_if_tty", "should_retry"? I don't have
> > a non-ugly suggestion, but I suspect something like that might leave
> > other people less puzzled when reading the code.
> 
> I like ask_yes_no_if_tty.

How about ask_yes_no_if_possible() ? Since we do not just rely on tty but still have GIT_ASK_YESNO to get to the user I think this would be a closer description of what happens.

Cheers Heiko
Previous: Erik Faye-LundNext: Heiko Voigt
Message 15 of 34 in “make open/unlink failures user friendly on windows using retry/abort”
  1. 0/5 make open/unlink failures user friendly on windows using retry/abortHeiko Voigt, Dec 14, 2010
  2. 1/8 mingw: move unlink wrapper to mingw.cHeiko Voigt, Dec 14, 2010
  3. 2/8 mingw: work around irregular failures of unlink on windowsHeiko Voigt, Dec 14, 2010
  4. Erik Faye-LundDec 14, 2010
  5. Heiko VoigtDec 14, 2010
  6. 2/5 mingw: work around irregular failures of unlink on windowsHeiko Voigt, Dec 14, 2010
  7. 3/8 mingw: make failures to unlink or move raise a questionHeiko Voigt, Dec 14, 2010
  8. Erik Faye-LundDec 14, 2010
  9. Junio C HamanoDec 14, 2010
  10. Heiko VoigtDec 15, 2010
  11. Johannes SchindelinDec 15, 2010
  12. Junio C HamanoDec 15, 2010
  13. Heiko VoigtDec 15, 2010
  14. Erik Faye-LundDec 15, 2010
  15. Heiko VoigtDec 15, 2010
  16. 4/5 mingw: add fallback for rmdir in case directory is in useHeiko Voigt, Dec 14, 2010
  17. 5/5 mingw_rmdir: set errno=ENOTEMPTY when appropriateHeiko Voigt, Dec 14, 2010
  18. Erik Faye-LundDec 14, 2010
  19. Johannes SchindelinDec 15, 2010
  20. Erik Faye-LundDec 15, 2010
  21. Junio C HamanoDec 15, 2010
  22. 0/5 make open/unlink failures user friendly on windows using retry/abortHeiko Voigt, Feb 7, 2011
  23. 1/5 mingw: move unlink wrapper to mingw.cHeiko Voigt, Feb 7, 2011
  24. Johannes SchindelinFeb 17, 2011
  25. 2/5 mingw: work around irregular failures of unlink on windowsHeiko Voigt, Feb 7, 2011
  26. 3/5 mingw: make failures to unlink or move raise a questionHeiko Voigt, Feb 7, 2011
  27. 4/5 mingw: add fallback for rmdir in case directory is in useHeiko Voigt, Feb 7, 2011
  28. 5/5 mingw_rmdir: set errno=ENOTEMPTY when appropriateHeiko Voigt, Feb 7, 2011
  29. Erik Faye-LundFeb 7, 2011
  30. Heiko VoigtFeb 7, 2011
  31. Erik Faye-LundFeb 7, 2011
  32. Junio C HamanoFeb 7, 2011
  33. Erik Faye-LundFeb 7, 2011
  34. Junio C HamanoFeb 8, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.