* bsdlib.cc (_vwarnx): New function.

(vwarn): Ditto.
	(vwarnx): Ditto.
	(warn): Ditto.
	(warnx): Ditto.
	(verr): Ditto.
	(verrx): Ditto.
	(err): Ditto.
	(errx): Ditto.
	* cygwin.din: Export above functions.
	* include/err.h: New file.
	* include/cygwin/version.h: Bump API minor number.
This commit is contained in:
Corinna Vinschen 2003-11-06 21:31:24 +00:00
parent 6ef3b76be2
commit 3e68e19f05
4 changed files with 123 additions and 1 deletions

View File

@ -1,3 +1,18 @@
2003-11-06 Corinna Vinschen <corinna@vinschen.de>
* bsdlib.cc (_vwarnx): New function.
(vwarn): Ditto.
(vwarnx): Ditto.
(warn): Ditto.
(warnx): Ditto.
(verr): Ditto.
(verrx): Ditto.
(err): Ditto.
(errx): Ditto.
* cygwin.din: Export above functions.
* include/err.h: New file.
* include/cygwin/version.h: Bump API minor number.
2003-11-06 Corinna Vinschen <corinna@vinschen.de>
* syscalls.cc (getshmlba): New function.

View File

@ -225,13 +225,14 @@ details. */
98: Export _tmpfile64.
99: CW_GET_POSIX_SECURITY_ATTRIBUTE addition to external.cc.
100: CW_GET_SHMLBA addition to external.cc.
101: Export err, errx, verr, verrx, warn, warnx, vwarn, vwarnx.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
#define CYGWIN_VERSION_API_MAJOR 0
#define CYGWIN_VERSION_API_MINOR 100
#define CYGWIN_VERSION_API_MINOR 101
/* There is also a compatibity version number associated with the
shared memory regions. It is incremented when incompatible

View File

@ -0,0 +1,33 @@
/* err.h
Copyright 2003 Red Hat, Inc.
This file is part of Cygwin.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#ifndef _ERR_H
#define _ERR_H
#include <sys/cdefs.h>
#include <stdarg.h>
__BEGIN_DECLS
extern void warn (const char *fmt, ...);
extern void warnx (const char *fmt, ...);
extern void err (int eval, const char *fmt, ...);
extern void errx (int eval, const char *fmt, ...);
extern void vwarn (const char *fmt, va_list ap);
extern void vwarnx (const char *fmt, va_list ap);
extern void verr (int eval, const char *fmt, va_list ap);
extern void verrx (int eval, const char *fmt, va_list ap);
__END_DECLS
#endif /* _ERR_H */

View File

@ -31,7 +31,9 @@
*/
#include "winsup.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <utmp.h>
#include <unistd.h>
#include <sys/termios.h>
@ -163,3 +165,74 @@ forkpty (int *amaster, char *name, struct termios *termp, struct winsize *winp)
return pid;
}
extern "C" char *__progname;
static void
_vwarnx (const char *fmt, va_list ap)
{
fprintf (stderr, "%s: ", __progname);
vfprintf (stderr, fmt, ap);
}
extern "C" void
vwarn (const char *fmt, va_list ap)
{
_vwarnx (fmt, ap);
fprintf (stderr, ": %s", strerror (get_errno ()));
fputc ('\n', stderr);
}
extern "C" void
vwarnx (const char *fmt, va_list ap)
{
_vwarnx (fmt, ap);
fputc ('\n', stderr);
}
extern "C" void
warn (const char *fmt, ...)
{
va_list ap;
va_start (ap, fmt);
vwarn (fmt, ap);
}
extern "C" void
warnx (const char *fmt, ...)
{
va_list ap;
va_start (ap, fmt);
vwarnx (fmt, ap);
}
extern "C" void
verr (int eval, const char *fmt, va_list ap)
{
vwarn (fmt, ap);
exit (eval);
}
extern "C" void
verrx (int eval, const char *fmt, va_list ap)
{
vwarnx (fmt, ap);
exit (eval);
}
extern "C" void
err (int eval, const char *fmt, ...)
{
va_list ap;
va_start (ap, fmt);
vwarn (fmt, ap);
exit (eval);
}
extern "C" void
errx (int eval, const char *fmt, ...)
{
va_list ap;
va_start (ap, fmt);
vwarnx (fmt, ap);
exit (eval);
}