Mercurial > hg > octave-lojdl > gnulib-hg
changeset 10434:a95a7e53bca3
New module 'perror'.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 14 Sep 2008 13:51:49 +0200 |
parents | 02b0f65bfbfc |
children | c3629eb821c3 |
files | lib/perror.c m4/perror.m4 modules/perror |
diffstat | 3 files changed, 78 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/lib/perror.c @@ -0,0 +1,35 @@ +/* Print a message describing error code. + Copyright (C) 2008 Free Software Foundation, Inc. + Written by Bruno Haible and Simon Josefsson. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include <config.h> + +/* Specification. */ +#include <stdio.h> + +#include <errno.h> +#include <string.h> + +void +perror (const char *string) +{ + const char *errno_description = strerror (errno); + + if (string != NULL && *string != '\0') + fprintf (stderr, "%s: %s\n", string, errno_description); + else + fprintf (stderr, "%s\n", errno_description); +}
new file mode 100644 --- /dev/null +++ b/m4/perror.m4 @@ -0,0 +1,17 @@ +# perror.m4 serial 1 +dnl Copyright (C) 2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_PERROR], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([gl_HEADER_ERRNO_H]) + if test -n "$ERRNO_H"; then + dnl The system's perror() cannot know about the new errno values we add + dnl to <errno.h>. Replace it. + REPLACE_PERROR=1 + AC_LIBOBJ([perror]) + fi +])
new file mode 100644 --- /dev/null +++ b/modules/perror @@ -0,0 +1,26 @@ +Description: +perror() function: print a message describing error code. + +Files: +lib/perror.c +m4/perror.m4 + +Depends-on: +stdio +errno +strerror + +configure.ac: +gl_FUNC_PERROR +gl_STRING_MODULE_INDICATOR([perror]) + +Makefile.am: + +Include: +<stdio.h> + +License: +LGPL + +Maintainer: +all