summaryrefslogtreecommitdiffstats
path: root/gl/basename-lgpl.c
diff options
context:
space:
mode:
authorLorenz Kästle <12514511+RincewindsHat@users.noreply.github.com>2026-03-26 12:53:53 +0100
committerGitHub <noreply@github.com>2026-03-26 12:53:53 +0100
commit13e14a6bfd9f29cbfeab0c5161d2a994f97532e7 (patch)
tree3aa7186fe092e42783dc7e981dc39a74ea61c466 /gl/basename-lgpl.c
parent9d8503f90ef25b2cecd324dc118e441f40233ea8 (diff)
downloadmonitoring-plugins-13e14a6bfd9f29cbfeab0c5161d2a994f97532e7.tar.gz
Update/gnulib 2026 03 (#2247)
* Sync with the 202601-stable Gnulib code (4a3650d887) * Ignore more deps stuff in gnulib * Remove autogenerated gnulib files * Ignore more gnulib generated headers
Diffstat (limited to 'gl/basename-lgpl.c')
-rw-r--r--gl/basename-lgpl.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gl/basename-lgpl.c b/gl/basename-lgpl.c
index 2aecb0dd..53f3bae5 100644
--- a/gl/basename-lgpl.c
+++ b/gl/basename-lgpl.c
@@ -1,6 +1,6 @@
1/* basename.c -- return the last element in a file name 1/* basename.c -- return the last element in a file name
2 2
3 Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2025 Free Software 3 Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2026 Free Software
4 Foundation, Inc. 4 Foundation, Inc.
5 5
6 This file is free software: you can redistribute it and/or modify 6 This file is free software: you can redistribute it and/or modify
@@ -29,13 +29,11 @@ char *
29last_component (char const *name) 29last_component (char const *name)
30{ 30{
31 char const *base = name + FILE_SYSTEM_PREFIX_LEN (name); 31 char const *base = name + FILE_SYSTEM_PREFIX_LEN (name);
32 char const *p;
33 bool last_was_slash = false;
34
35 while (ISSLASH (*base)) 32 while (ISSLASH (*base))
36 base++; 33 base++;
37 34
38 for (p = base; *p; p++) 35 bool last_was_slash = false;
36 for (char const *p = base; *p; p++)
39 { 37 {
40 if (ISSLASH (*p)) 38 if (ISSLASH (*p))
41 last_was_slash = true; 39 last_was_slash = true;
@@ -53,8 +51,6 @@ size_t
53base_len (char const *name) 51base_len (char const *name)
54{ 52{
55 size_t len; 53 size_t len;
56 size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
57
58 for (len = strlen (name); 1 < len && ISSLASH (name[len - 1]); len--) 54 for (len = strlen (name); 1 < len && ISSLASH (name[len - 1]); len--)
59 continue; 55 continue;
60 56
@@ -62,6 +58,7 @@ base_len (char const *name)
62 && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2]) 58 && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2])
63 return 2; 59 return 2;
64 60
61 size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
65 if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len 62 if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len
66 && len == prefix_len && ISSLASH (name[prefix_len])) 63 && len == prefix_len && ISSLASH (name[prefix_len]))
67 return prefix_len + 1; 64 return prefix_len + 1;