Module Name: src
Committed By: rillig
Date: Sun Feb 27 17:12:06 UTC 2022
Modified Files:
src/usr.bin/xlint/lint1: mem1.c
Log Message:
lint: clean up code for handling filenames
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.60 -r1.61 src/usr.bin/xlint/lint1/mem1.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/mem1.c
diff -u src/usr.bin/xlint/lint1/mem1.c:1.60 src/usr.bin/xlint/lint1/mem1.c:1.61
--- src/usr.bin/xlint/lint1/mem1.c:1.60 Sun Feb 27 08:31:26 2022
+++ src/usr.bin/xlint/lint1/mem1.c Sun Feb 27 17:12:06 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: mem1.c,v 1.60 2022/02/27 08:31:26 rillig Exp $ */
+/* $NetBSD: mem1.c,v 1.61 2022/02/27 17:12:06 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: mem1.c,v 1.60 2022/02/27 08:31:26 rillig Exp $");
+__RCSID("$NetBSD: mem1.c,v 1.61 2022/02/27 17:12:06 rillig Exp $");
#endif
#include <sys/param.h>
@@ -58,6 +58,7 @@ struct filename {
};
static struct filename *filenames; /* null-terminated array */
+static int next_filename_id;
/* Find the given filename, or return NULL. */
static const struct filename *
@@ -114,14 +115,6 @@ transform_filename(const char *name, siz
return buf;
}
-static int
-next_filename_id(void)
-{
- static int next_id = 0;
-
- return next_id++;
-}
-
/*
* Return a copy of the filename s with unlimited lifetime.
* If the filename is new, write it to the output file.
@@ -133,13 +126,9 @@ record_filename(const char *s, size_t sl
struct filename *fn;
char *name;
- if (s == NULL)
- return NULL;
-
if ((existing_fn = search_filename(s, slen)) != NULL)
return existing_fn->fn_name;
- /* Do not use strdup() because s is not NUL-terminated.*/
name = xmalloc(slen + 1);
(void)memcpy(name, s, slen);
name[slen] = '\0';
@@ -147,7 +136,7 @@ record_filename(const char *s, size_t sl
fn = xmalloc(sizeof(*fn));
fn->fn_name = name;
fn->fn_len = slen;
- fn->fn_id = next_filename_id();
+ fn->fn_id = next_filename_id++;
fn->fn_next = filenames;
filenames = fn;