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

Re: [PATCH] wrapper: remove xunsetenv()

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 29, 2021, 22:03 UTC
Message-ID
<xmqq7ddvij44.fsf@gitster.g>
In-Reply-To
<YXxvGfelee1pURQ7@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 21 quoted lines
> On Fri, Oct 29, 2021 at 02:58:48PM -0700, Junio C Hamano wrote:
>
>> Jeff King <peff@peff.net> writes:
>> 
>> > However, according to the unsetenv() manpage:
>> >
>> >   Prior to glibc 2.2.2, unsetenv() was prototyped as returning void;
>> >   more recent glibc versions follow the POSIX.1-compliant prototype
>> >   shown in the SYNOPSIS.
>> >
>> > So it is POSIX to return an int, but that gives us at least one platform
>> > where unsetenv() returns void (or used to). glibc 2.2.2 is 2001-era, so
>> > that may be old enough that we don't care. But it makes me wonder if
>> > other older or obscure platforms will run into this.
>> 
>> Ahh, OK.  Well, we will hear from them soon enough.  It is not like
>> this is anything urgent.
>
> Yeah, I am OK proceeding along those lines, and seeing if anybody
> screams (though perhaps dropping xunsetenv() for -rc0 makes sense in the
> interim).

Ahh, ok, the use of unsetenv() that assumes a modern unsetenv() is a regression during this cycle.

Let's queue this then.
Thanks.
-- >8 --
From: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Subject: [PATCH] wrapper: remove xunsetenv()
Remove the unused wrapper function.
Reported-by: Randall S. Becker <rsbecker@nexbridge.com>
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 git-compat-util.h | 1 -
 wrapper.c         | 6 ------
 2 files changed, 7 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h
index 141bb86351..d70ce14286 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -879,7 +879,6 @@ char *xstrndup(const char *str, size_t len);
 void *xrealloc(void *ptr, size_t size);
 void *xcalloc(size_t nmemb, size_t size);
 void xsetenv(const char *name, const char *value, int overwrite);
-void xunsetenv(const char *name);
 void *xmmap(void *start, size_t length, int prot, int flags, int fd, off_t offset);
 const char *mmap_os_err(void);
 void *xmmap_gently(void *start, size_t length, int prot, int flags, int fd, off_t offset);
diff --git a/wrapper.c b/wrapper.c
index 1460d4e27b..36e12119d7 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -151,12 +151,6 @@ void xsetenv(const char *name, const char *value, int overwrite)
 		die_errno(_("could not setenv '%s'"), name ? name : "(null)");
 }
 
-void xunsetenv(const char *name)
-{
-	if (!unsetenv(name))
-		die_errno(_("could not unsetenv '%s'"), name ? name : "(null)");
-}
-
 /*
  * Limit size of IO chunks, because huge chunks only cause pain.  OS X
  * 64-bit is buggy, returning EINVAL if len >= INT_MAX; and even in
-- 
2.33.1-1021-g744e6a0a52
Previous: Jeff KingNext: Jeff King
Message 9 of 17 in “wrapper: remove xunsetenv()”
  1. wrapper: remove xunsetenv()Carlo Marcelo Arenas Belón, Oct 29, 2021
  2. Jeff KingOct 29, 2021
  3. rsbecker@nexbridge.comOct 29, 2021
  4. Carlo ArenasOct 29, 2021
  5. Junio C HamanoOct 29, 2021
  6. Jeff KingOct 29, 2021
  7. Junio C HamanoOct 29, 2021
  8. Jeff KingOct 29, 2021
  9. Junio C HamanoOct 29, 2021
  10. Jeff KingOct 29, 2021
  11. rsbecker@nexbridge.comOct 29, 2021
  12. Junio C HamanoOct 29, 2021
  13. rsbecker@nexbridge.comOct 30, 2021
  14. rsbecker@nexbridge.comOct 29, 2021
  15. Carlo ArenasOct 29, 2021
  16. rsbecker@nexbridge.comOct 29, 2021
  17. Junio C HamanoOct 29, 2021

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.