diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2025-02-08 02:50:13 +0900 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2025-03-15 21:16:21 +0900 |
commit | 59d60d26a58be75e9e3b813104c2dfd3b58eb662 (patch) | |
tree | ad8fb7559b010a61633bc0fd0e72e5792707277b /scripts/mod/sumversion.c | |
parent | ab5bc764bdc270d1c55aaf9d238e0986ff301355 (diff) |
modpost: introduce get_basename() helper
The logic to retrieve the basename appears multiple times.
Factor out the common pattern into a helper function.
I copied kbasename() from include/linux/string.h and renamed it
to get_basename().
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Diffstat (limited to 'scripts/mod/sumversion.c')
-rw-r--r-- | scripts/mod/sumversion.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/scripts/mod/sumversion.c b/scripts/mod/sumversion.c index 6de9af17599d..e79fc40d852f 100644 --- a/scripts/mod/sumversion.c +++ b/scripts/mod/sumversion.c @@ -309,15 +309,10 @@ static int parse_source_files(const char *objfile, struct md4_ctx *md) cmd = xmalloc(strlen(objfile) + sizeof("..cmd")); - base = strrchr(objfile, '/'); - if (base) { - base++; - dirlen = base - objfile; - sprintf(cmd, "%.*s.%s.cmd", dirlen, objfile, base); - } else { - dirlen = 0; - sprintf(cmd, ".%s.cmd", objfile); - } + base = get_basename(objfile); + dirlen = base - objfile; + sprintf(cmd, "%.*s.%s.cmd", dirlen, objfile, base); + dir = xmalloc(dirlen + 1); strncpy(dir, objfile, dirlen); dir[dirlen] = '\0'; |