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

Re: [PATCH 5/6] git_mkstemps_mode: don't set errno to EINVAL for any error.

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 22, 2010, 19:56 UTC
Message-ID
<7vzl31cad6.fsf@alter.siamese.dyndns.org>
In-Reply-To
<vpq7hq5n2mk.fsf@bauges.imag.fr>
Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
> Just removing the line would work with the current code, but this "if
> (errno <= 0) errno = EINVAL;" allows enforcing the invariant that
> errno > 0 when reaching "return -1" in a simple and reliable way (i.e.
> changing the for loop later cannot break this invariant by mistake).

I do not think "errno > 0 when -1 is returned" is a meaningful invariant. You may return EINVAL which is positive and that may keep that invariant, but you should not be returning that errno unless the error is "template not ending with 6-X" to begin with, so there isn't a real gain, no?

Previous: Matthieu MoyNext: Matthieu Moy
Message 10 of 11 in “Re: [PATCH 4/4] Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.”
  1. Matthieu MoyFeb 19, 2010
  2. 1/6 Add a testcase for ACL with restrictive umask.Matthieu Moy, Feb 19, 2010
  3. 2/6 Move gitmkstemps to path.cMatthieu Moy, Feb 19, 2010
  4. 3/6 git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument.Matthieu Moy, Feb 19, 2010
  5. Junio C HamanoFeb 20, 2010
  6. 4/6 Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.Matthieu Moy, Feb 19, 2010
  7. 5/6 git_mkstemps_mode: don't set errno to EINVAL for any error.Matthieu Moy, Feb 19, 2010
  8. Junio C HamanoFeb 20, 2010
  9. Matthieu MoyFeb 22, 2010
  10. Junio C HamanoFeb 22, 2010
  11. 6/6 Use git_mkstemp_mode instead of plain mkstemp to create object filesMatthieu Moy, Feb 19, 2010

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.