about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/physics/cernlib/0001-Use-strerror-rather-than-sys_errlist-to-fix-compilat.patch
blob: bc8c77f913c623d9b030f1c210510a88bda49e48 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
From a69607c511b6da94cde477283b129cbc9cfdd5a3 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Tue, 11 Aug 2020 12:32:06 +0200
Subject: [PATCH] Use `strerror` rather than `sys_errlist` to fix compilation
 w/glibc-2.32

To quote the release-notes[1]:

  All programs should use
  strerror or strerror_r instead.

[1] https://sourceware.org/pipermail/libc-announce/2020/000029.html
---
 2006/src/packlib/cspack/sysreq/serror.c         | 10 +---------
 2006/src/packlib/cspack/sysreq/socket.c         |  2 +-
 2006/src/packlib/kernlib/kernbit/z268/systems.c |  4 ++--
 2006/src/pawlib/paw/piafs/piafc.c               |  5 +----
 4 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/2006/src/packlib/cspack/sysreq/serror.c b/2006/src/packlib/cspack/sysreq/serror.c
index 3667c42a..c560e499 100644
--- a/2006/src/packlib/cspack/sysreq/serror.c
+++ b/2006/src/packlib/cspack/sysreq/serror.c
@@ -176,15 +176,7 @@ int     n;
         }
         else {
 #if !defined(vms)
-                if ((n>0) && (n<sys_nerr)) {
-                        return(sys_errlist[n]);
-                }
-                else {
-                        (void) sprintf(buf,"%s: %d\n",
- sys_serrlist[SEMAXERR+1-SEBASEOFF],
-                            n);
-                        return(buf);
-                }
+          return strerror(n);
 #else /* vms */
 /*
  * There are (were) some bugs is DEC C compilers (/OPT), just check
diff --git a/2006/src/packlib/cspack/sysreq/socket.c b/2006/src/packlib/cspack/sysreq/socket.c
index ceb5bd63..34c2a7bc 100644
--- a/2006/src/packlib/cspack/sysreq/socket.c
+++ b/2006/src/packlib/cspack/sysreq/socket.c
@@ -412,7 +412,7 @@ char *
 s_errmsg()                              /* return last error message    */
 {
 #if !defined(vms)
-        return(sys_errlist[errno]);
+        return(strerror(errno));
 #else /* vms */
 #if defined(MULTINET) && (MULTINET == 1)
         return(vms_errno_string());
diff --git a/2006/src/packlib/kernlib/kernbit/z268/systems.c b/2006/src/packlib/kernlib/kernbit/z268/systems.c
index 98459459..d1ad63ed 100644
--- a/2006/src/packlib/kernlib/kernbit/z268/systems.c
+++ b/2006/src/packlib/kernlib/kernbit/z268/systems.c
@@ -134,7 +134,7 @@ int     *ovflw;
 #endif /* hpux */
 
 	if ( (ps=(FILE *)popen(command,"r"))==NULL ) {
-		fprintf(stderr,"systems(): popen(): %s\n",sys_errlist[errno] );
+		fprintf(stderr,"systems(): popen(): %s\n",strerror(errno) );
 		*rc= -errno;
 		*chars=0        ;
                 *l=0        ;
@@ -144,7 +144,7 @@ int     *ovflw;
 	rcode = fread(buf, 1, buflen , ps );
 	if ( rcode < 0 ) {
 		fprintf(stderr,"systems(): pipe fread(): %s\n",
-                                                       sys_errlist[errno] );
+                                                       strerror(errno) );
 		buf[0]='\n';
 		*rc= -errno;
                 *chars=0        ;
diff --git a/2006/src/pawlib/paw/piafs/piafc.c b/2006/src/pawlib/paw/piafs/piafc.c
index b163f80c..4d8d5528 100644
--- a/2006/src/pawlib/paw/piafs/piafc.c
+++ b/2006/src/pawlib/paw/piafs/piafc.c
@@ -1795,10 +1795,7 @@ static void fatalperror(char *msg)
    extern char  *sys_errlist[];
 #endif
 
-   if ((unsigned) errno < sys_nerr)
-      sprintf(buf, "%s: %s", msg, sys_errlist[errno]);
-   else
-      sprintf(buf, "%s: Error %d", msg, errno);
+   sprintf(buf, "%s: %s", msg, strerror(errno));
 
    fatal(buf);
 }
-- 
2.25.4