mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
use errx(3) and warnx(3) instead of rolling our own error functions
This commit is contained in:
@@ -3,10 +3,13 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <err.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdarg.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <sysexits.h>
|
||||||
|
|
||||||
#include "asmotor.h"
|
#include "asmotor.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -58,41 +61,6 @@ PrintUsage(void)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
vFatalError(char *s, va_list ap)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "*ERROR* : ");
|
|
||||||
vfprintf(stderr, s, ap);
|
|
||||||
fprintf(stderr, "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
FatalError(char *s,...)
|
|
||||||
{
|
|
||||||
va_list ap;
|
|
||||||
va_start(ap, s);
|
|
||||||
vFatalError(s, ap);
|
|
||||||
va_end(ap);
|
|
||||||
exit(5);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
vWarning(char *s, va_list ap)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "*WARNING* : ");
|
|
||||||
vfprintf(stderr, s, ap);
|
|
||||||
fprintf(stderr, "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
Warning(char *s,...)
|
|
||||||
{
|
|
||||||
va_list ap;
|
|
||||||
va_start(ap, s);
|
|
||||||
vWarning(s, ap);
|
|
||||||
va_end(ap);
|
|
||||||
}
|
|
||||||
|
|
||||||
long int
|
long int
|
||||||
FileSize(FILE * f)
|
FileSize(FILE * f)
|
||||||
{
|
{
|
||||||
@@ -230,9 +198,9 @@ main(int argc, char *argv[])
|
|||||||
ulOptions |= OPTF_RAMSIZE;
|
ulOptions |= OPTF_RAMSIZE;
|
||||||
ram_size = strtoul(optarg, &ep, 0);
|
ram_size = strtoul(optarg, &ep, 0);
|
||||||
if (optarg[0] == '\0' || *ep != '\0')
|
if (optarg[0] == '\0' || *ep != '\0')
|
||||||
FatalError("Invalid argument for option 'm'");
|
errx(EX_USAGE, "Invalid argument for option 'm'");
|
||||||
if (ram_size < 0 || ram_size > 0xFF)
|
if (ram_size < 0 || ram_size > 0xFF)
|
||||||
FatalError("Argument for option 'm' must be between 0 and 0xFF");
|
errx(EX_USAGE, "Argument for option 'm' must be between 0 and 0xFF");
|
||||||
break;
|
break;
|
||||||
case 'j':
|
case 'j':
|
||||||
ulOptions |= OPTF_JAPAN;
|
ulOptions |= OPTF_JAPAN;
|
||||||
@@ -241,17 +209,17 @@ main(int argc, char *argv[])
|
|||||||
ulOptions |= OPTF_MBCTYPE;
|
ulOptions |= OPTF_MBCTYPE;
|
||||||
mbc_type = strtoul(optarg, &ep, 0);
|
mbc_type = strtoul(optarg, &ep, 0);
|
||||||
if (optarg[0] == '\0' || *ep != '\0')
|
if (optarg[0] == '\0' || *ep != '\0')
|
||||||
FatalError("Invalid argument for option 'b'");
|
errx(EX_USAGE, "Invalid argument for option 'b'");
|
||||||
if (mbc_type < 0 || mbc_type > 0xFF)
|
if (mbc_type < 0 || mbc_type > 0xFF)
|
||||||
FatalError("Argument for option 'b' must be between 0 and 0xFF");
|
errx(EX_USAGE, "Argument for option 'b' must be between 0 and 0xFF");
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
ulOptions |= OPTF_PAD;
|
ulOptions |= OPTF_PAD;
|
||||||
pad_value = strtoul(optarg, &ep, 0);
|
pad_value = strtoul(optarg, &ep, 0);
|
||||||
if (optarg[0] == '\0' || *ep != '\0')
|
if (optarg[0] == '\0' || *ep != '\0')
|
||||||
FatalError("Invalid argument for option 'p'");
|
errx(EX_USAGE, "Invalid argument for option 'p'");
|
||||||
if (pad_value < 0 || pad_value > 0xFF)
|
if (pad_value < 0 || pad_value > 0xFF)
|
||||||
FatalError("Argument for option 'p' must be between 0 and 0xFF");
|
errx(EX_USAGE, "Argument for option 'p' must be between 0 and 0xFF");
|
||||||
break;
|
break;
|
||||||
case 'v':
|
case 'v':
|
||||||
ulOptions |= OPTF_VALIDATE;
|
ulOptions |= OPTF_VALIDATE;
|
||||||
@@ -269,14 +237,14 @@ main(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
case 'o':
|
case 'o':
|
||||||
if (ulOptions & OPTF_GBCMODE) {
|
if (ulOptions & OPTF_GBCMODE) {
|
||||||
FatalError("-c and -o can't be used together");
|
errx(EX_USAGE, "-c and -o can't be used together");
|
||||||
}
|
}
|
||||||
ulOptions |= OPTF_GBCMODE;
|
ulOptions |= OPTF_GBCMODE;
|
||||||
gbc_mode = 0xC0;
|
gbc_mode = 0xC0;
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
if (ulOptions & OPTF_GBCMODE) {
|
if (ulOptions & OPTF_GBCMODE) {
|
||||||
FatalError("-c and -o can't be used together");
|
errx(EX_USAGE, "-c and -o can't be used together");
|
||||||
}
|
}
|
||||||
ulOptions |= OPTF_GBCMODE;
|
ulOptions |= OPTF_GBCMODE;
|
||||||
gbc_mode = 0x80;
|
gbc_mode = 0x80;
|
||||||
@@ -468,7 +436,7 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (ulOptions & OPTF_TITLE) {
|
if (ulOptions & OPTF_TITLE) {
|
||||||
if (cartname[0xF]) {
|
if (cartname[0xF]) {
|
||||||
Warning("Last character of cartridge title was overwritten by '-%c' option", gbc_mode == 0x80 ? 'c' : 'o');
|
warnx("Last character of cartridge title was overwritten by '-%c' option", gbc_mode == 0x80 ? 'c' : 'o');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -674,7 +642,7 @@ main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
fclose(f);
|
fclose(f);
|
||||||
} else {
|
} else {
|
||||||
FatalError("File '%s' not found", filename);
|
errx(EX_NOINPUT, "File '%s' not found", filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
|||||||
Reference in New Issue
Block a user