mirror of
https://git.suckless.org/9base
synced 2025-08-27 10:23:49 -07:00
initial import
This commit is contained in:
26
lib9/sysfatal.c
Normal file
26
lib9/sysfatal.c
Normal file
@@ -0,0 +1,26 @@
|
||||
#include <lib9.h>
|
||||
#include <stdarg.h>
|
||||
#include "fmt.h"
|
||||
|
||||
extern char *argv0;
|
||||
extern void __fixargv0(void);
|
||||
extern void exits(char*);
|
||||
void (*_sysfatal)(char*, ...);
|
||||
|
||||
void
|
||||
sysfatal(char *fmt, ...)
|
||||
{
|
||||
char buf[256];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
if(_sysfatal)
|
||||
(*_sysfatal)(fmt, arg);
|
||||
vseprint(buf, buf+sizeof buf, fmt, arg);
|
||||
va_end(arg);
|
||||
|
||||
__fixargv0();
|
||||
fprint(2, "%s: %s\n", argv0 ? argv0 : "<prog>", buf);
|
||||
exits("fatal");
|
||||
}
|
||||
|
Reference in New Issue
Block a user