1 /* Safe version of strerror for POSIX systems for GDB, the GNU debugger.
3 Copyright (C) 2006-2019 Free Software Foundation, Inc.
5 This file is part of GDB.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 #include "common-defs.h"
22 /* Implementation of safe_strerror as defined in common-utils.h. */
25 safe_strerror (int errnum
)
27 static thread_local
char buf
[1024];
30 #ifdef HAVE_STRERROR_R
31 # if !__GLIBC__ || ((_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE)
32 /* Glibc has two different, incompatible versions of strerror_r. */
33 if (strerror_r (errnum
, buf
, sizeof (buf
)) == 0)
36 msg
= strerror_r (errnum
, buf
, sizeof (buf
));
39 msg
= strerror (errnum
);
44 xsnprintf (buf
, sizeof buf
, "(undocumented errno %d)", errnum
);
This page took 0.030385 seconds and 4 git commands to generate.