]> git.saurik.com Git - apple/libc.git/blobdiff - string/FreeBSD/strsignal.c.patch
Libc-825.24.tar.gz
[apple/libc.git] / string / FreeBSD / strsignal.c.patch
diff --git a/string/FreeBSD/strsignal.c.patch b/string/FreeBSD/strsignal.c.patch
deleted file mode 100644 (file)
index 4df57ad..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
---- strsignal.c.orig   2010-01-24 02:35:26.000000000 -0800
-+++ strsignal.c        2010-05-06 12:29:53.000000000 -0700
-@@ -47,8 +47,6 @@ __FBSDID("$FreeBSD: src/lib/libc/string/
- #define       UPREFIX         "Unknown signal"
--static char           sig_ebuf[NL_TEXTMAX];
--static char           sig_ebuf_err[NL_TEXTMAX];
- static once_t         sig_init_once = ONCE_INITIALIZER;
- static thread_key_t   sig_key;
- static int            sig_keycreated = 0;
-@@ -64,25 +62,19 @@ sig_tlsalloc(void)
- {
-       char *ebuf = NULL;
--      if (thr_main() != 0)
--              ebuf = sig_ebuf;
--      else {
--              if (thr_once(&sig_init_once, sig_keycreate) != 0 ||
--                  !sig_keycreated)
-+      if (thr_once(&sig_init_once, sig_keycreate) != 0 ||
-+          !sig_keycreated)
-+              goto thr_err;
-+      if ((ebuf = thr_getspecific(sig_key)) == NULL) {
-+              if ((ebuf = malloc(NL_TEXTMAX * sizeof(char))) == NULL)
-+                      goto thr_err;
-+              if (thr_setspecific(sig_key, ebuf) != 0) {
-+                      free(ebuf);
-+                      ebuf = NULL;
-                       goto thr_err;
--              if ((ebuf = thr_getspecific(sig_key)) == NULL) {
--                      if ((ebuf = malloc(sizeof(sig_ebuf))) == NULL)
--                              goto thr_err;
--                      if (thr_setspecific(sig_key, ebuf) != 0) {
--                              free(ebuf);
--                              ebuf = NULL;
--                              goto thr_err;
--                      }
-               }
-       }
- thr_err:
--      if (ebuf == NULL)
--              ebuf = sig_ebuf_err;
-       return (ebuf);
- }
-@@ -103,15 +95,19 @@ strsignal(int num)
- #endif
-       ebuf = sig_tlsalloc();
-+      if(ebuf == NULL) {
-+              errno = ENOMEM;
-+              return NULL;
-+      }
--      if (num > 0 && num < sys_nsig) {
-+      if (num > 0 && num < NSIG) {
-               n = strlcpy(ebuf,
- #if defined(NLS)
-                       catgets(catd, 2, num, sys_siglist[num]),
- #else
-                       sys_siglist[num],
- #endif
--                      sizeof(sig_ebuf));
-+                      NL_TEXTMAX * sizeof(char));
-       } else {
-               n = strlcpy(ebuf,
- #if defined(NLS)
-@@ -119,7 +115,7 @@ strsignal(int num)
- #else
-                       UPREFIX,
- #endif
--                      sizeof(sig_ebuf));
-+                      NL_TEXTMAX * sizeof(char));
-       }
-       signum = num;