From cbe57bbd7c739730583efb1c51cc1c1e062ffc28 Mon Sep 17 00:00:00 2001 From: leo Date: Fri, 12 Apr 2002 22:09:28 +0000 Subject: [PATCH] Make the exitcode != 0 when the ioctl fails. --- sys/arch/atari/stand/loadkmap/loadkmap.c | 31 +++++++++++++++--------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/sys/arch/atari/stand/loadkmap/loadkmap.c b/sys/arch/atari/stand/loadkmap/loadkmap.c index 0884f691ca2f..6002ba43c896 100644 --- a/sys/arch/atari/stand/loadkmap/loadkmap.c +++ b/sys/arch/atari/stand/loadkmap/loadkmap.c @@ -1,4 +1,4 @@ -/* $NetBSD: loadkmap.c,v 1.2 1995/07/24 05:47:48 leo Exp $ */ +/* $NetBSD: loadkmap.c,v 1.3 2002/04/12 22:09:28 leo Exp $ */ #include #include @@ -8,8 +8,8 @@ #include -void load_kmap __P((const char *, int)); -void dump_kmap(); +int load_kmap __P((const char *, int)); +int dump_kmap(); int main(argc, argv) @@ -18,6 +18,7 @@ main(argc, argv) { int set_sysmap = 0; char *mapfile; + int rc = 0; if (argc > 2) { if ((argc == 3) && !strcmp(argv[1], "-f")) { @@ -32,14 +33,14 @@ main(argc, argv) else mapfile = argv[1]; if (argc == 1) - dump_kmap(); - else load_kmap(mapfile, set_sysmap); + rc = dump_kmap(); + else rc = load_kmap(mapfile, set_sysmap); - exit (0); + exit (rc); } -void +int load_kmap(file, set_sysmap) const char *file; int set_sysmap; @@ -52,8 +53,10 @@ int set_sysmap; if ((fd = open (file, 0)) >= 0) { if (read (fd, buf, sizeof (buf)) == sizeof (buf)) { - if (ioctl (0, ioc, buf) == 0) - return; + if (ioctl (0, ioc, buf) == 0) { + close(fd); + return 0; + } else perror("ITEIOCSKMAP"); } else perror("read kmap"); @@ -61,14 +64,18 @@ int set_sysmap; close(fd); } else perror("open kmap"); + return 1; } -void +int dump_kmap() { char buf[sizeof (struct kbdmap)]; - if (ioctl (0, ITEIOCGKMAP, buf) == 0) + if (ioctl (0, ITEIOCGKMAP, buf) == 0) { write (1, buf, sizeof (buf)); - else perror ("ITEIOCGKMAP"); + return 0; + } + perror ("ITEIOCGKMAP"); + return 1; }