Module Name: src
Committed By: rillig
Date: Tue Aug 17 22:29:11 UTC 2021
Modified Files:
src/usr.bin/xlint/lint1: main1.c
Log Message:
lint: extract suppress_messages from main
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/usr.bin/xlint/lint1/main1.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/xlint/lint1/main1.c
diff -u src/usr.bin/xlint/lint1/main1.c:1.55 src/usr.bin/xlint/lint1/main1.c:1.56
--- src/usr.bin/xlint/lint1/main1.c:1.55 Tue Aug 17 21:19:02 2021
+++ src/usr.bin/xlint/lint1/main1.c Tue Aug 17 22:29:11 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: main1.c,v 1.55 2021/08/17 21:19:02 rillig Exp $ */
+/* $NetBSD: main1.c,v 1.56 2021/08/17 22:29:11 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: main1.c,v 1.55 2021/08/17 21:19:02 rillig Exp $");
+__RCSID("$NetBSD: main1.c,v 1.56 2021/08/17 22:29:11 rillig Exp $");
#endif
#include <sys/types.h>
@@ -168,11 +168,28 @@ sigfpe(int s)
fpe = 1;
}
+static void
+suppress_messages(char *ids)
+{
+ char *ptr, *end;
+ long id;
+
+ for (ptr = strtok(ids, ","); ptr != NULL; ptr = strtok(NULL, ",")) {
+ errno = 0;
+ id = strtol(ptr, &end, 0);
+ if ((id == TARG_LONG_MIN || id == TARG_LONG_MAX) &&
+ errno == ERANGE)
+ err(1, "invalid error message id '%s'", ptr);
+ if (*end != '\0' || ptr == end || id < 0 || id >= ERR_SETSIZE)
+ errx(1, "invalid error message id '%s'", ptr);
+ ERR_SET(id, &msgset);
+ }
+}
+
int
main(int argc, char *argv[])
{
- int c;
- char *ptr;
+ int c;
setprogname(argv[0]);
@@ -217,23 +234,7 @@ main(int argc, char *argv[])
break;
case 'X':
- for (ptr = strtok(optarg, ","); ptr != NULL;
- ptr = strtok(NULL, ",")) {
- char *eptr;
- long msg;
-
- errno = 0;
- msg = strtol(ptr, &eptr, 0);
- if ((msg == TARG_LONG_MIN || msg == TARG_LONG_MAX) &&
- errno == ERANGE)
- err(1, "invalid error message id '%s'",
- ptr);
- if (*eptr != '\0' || ptr == eptr || msg < 0 ||
- msg >= ERR_SETSIZE)
- errx(1, "invalid error message id '%s'",
- ptr);
- ERR_SET(msg, &msgset);
- }
+ suppress_messages(optarg);
break;
default:
usage();