2 * Window Maker miscelaneous function library
4 * Copyright (c) 1997 Alfredo K. Kojima
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 #include "../src/config.h"
32 extern char *_WINGS_progname
;
38 /*********************************************************************
39 * Returns the system error message associated with error code 'errnum'
40 *********************************************************************/
44 #if defined(HAVE_STRERROR)
45 return strerror(errnum
);
46 #elif !defined(HAVE_STRERROR) && defined(BSD)
47 extern int errno
, sys_nerr
;
49 extern char *sys_errlist
[];
51 static char buf
[] = "Unknown error 12345678901234567890";
54 return sys_errlist
[errnum
];
56 sprintf (buf
, _("Unknown error %d"), errnum
);
58 #else /* no strerror() and no sys_errlist[] */
59 static char buf
[] = "Error 12345678901234567890";
61 sprintf(buf
, _("Error %d"), errnum
);
67 /*********************************************************************
68 * Prints a message with variable arguments
70 * msg - message to print with optional formatting
71 * ... - arguments to use on formatting
72 *********************************************************************/
74 wmessage(const char *msg
, ...)
81 vsnprintf(buf
, MAXLINE
-3, msg
, args
);
84 fputs(_WINGS_progname
? _WINGS_progname
: "WINGs", stderr
);
94 /*********************************************************************
95 * Prints a warning message with variable arguments
97 * msg - message to print with optional formatting
98 * ... - arguments to use on formatting
99 *********************************************************************/
101 wwarning(const char *msg
, ...)
108 vsnprintf(buf
, MAXLINE
-3, msg
, args
);
111 fputs(_WINGS_progname
? _WINGS_progname
: "WINGs", stderr
);
112 fputs(_(" warning: "),stderr
);
121 /**************************************************************************
122 * Prints a fatal error message with variable arguments and terminates
124 * msg - message to print with optional formatting
125 * ... - arguments to use on formatting
126 **************************************************************************/
128 wfatal(const char *msg
, ...)
135 vsnprintf(buf
, MAXLINE
-3, msg
, args
);
138 fputs(_WINGS_progname
? _WINGS_progname
: "WINGs", stderr
);
139 fputs(_(" fatal error: "),stderr
);
148 /*********************************************************************
149 * Prints a system error message with variable arguments
151 * msg - message to print with optional formatting
152 * ... - arguments to use on formatting
153 *********************************************************************/
155 wsyserror(const char *msg
, ...)
162 vsnprintf(buf
, MAXLINE
-3, msg
, args
);
164 fputs(_WINGS_progname
? _WINGS_progname
: "WINGs", stderr
);
165 fputs(_(" error: "), stderr
);
168 fputs(wstrerror(error
), stderr
);
176 /*********************************************************************
177 * Prints a system error message with variable arguments, being given
180 * error - the error code foe which to print the message
181 * msg - message to print with optional formatting
182 * ... - arguments to use on formatting
183 *********************************************************************/
185 wsyserrorwithcode(int error
, const char *msg
, ...)
191 vsnprintf(buf
, MAXLINE
-3, msg
, args
);
193 fputs(_WINGS_progname
? _WINGS_progname
: "WINGs", stderr
);
194 fputs(_(" error: "), stderr
);
197 fputs(wstrerror(error
), stderr
);