bash: Split up and order the akaros-patches
[akaros.git] / tools / sys-apps / bash / akaros-patches / 4.3.30 / 0004-errstr-patch
1 diff -ur bash-4.3.30.dist/error.c bash-4.3.30/error.c
2 --- bash-4.3.30.dist/error.c    2014-01-17 08:09:33.000000000 -0500
3 +++ bash-4.3.30/error.c 2016-05-25 13:40:26.978379551 -0400
4 @@ -487,3 +487,32 @@
5  {
6    report_error (_("%s: readonly variable"), s);
7  }
8 +
9 +#if defined (USE_AKAROS_STRERROR)
10 +#ifndef MAX_ERRSTR_LEN
11 +#define MAX_ERRSTR_LEN 128
12 +#endif
13 +char *
14 +akaros_strerror(e)
15 +      int e;
16 +{
17 +  static char emsg[2*MAX_ERRSTR_LEN];
18 +  char ebuf[MAX_ERRSTR_LEN];
19 +  size_t len;
20 +  int serrno;
21 +  char *estr, *strerror_str;
22 +
23 +  serrno = errno;
24 +  estr = errstr ();
25 +  strerror_str = strerror_r (e, ebuf, sizeof (ebuf));
26 +  len = strlen (strerror_str);
27 +  if (len > (sizeof (emsg) - 1))
28 +    len = sizeof (emsg) - 1;
29 +  memmove (emsg, strerror_str, len);
30 +  if (e == serrno && estr && *estr)
31 +    snprintf (emsg + len, sizeof (emsg) - len, ", %s", estr);
32 +  ebuf[sizeof (ebuf) - 1] = '\0';
33 +
34 +  return emsg;
35 +}
36 +#endif
37 diff -ur bash-4.3.30.dist/mksyntax.c bash-4.3.30/mksyntax.c
38 --- bash-4.3.30.dist/mksyntax.c 2012-07-29 19:48:38.000000000 -0400
39 +++ bash-4.3.30/mksyntax.c      2016-05-25 11:59:57.560352289 -0400
40 @@ -40,6 +40,10 @@
41  extern int errno;
42  #endif
43  
44 +#ifdef strerror
45 +#undef strerror
46 +#endif
47 +
48  #ifndef HAVE_STRERROR
49  extern char *strerror();
50  #endif
51