diff options
Diffstat (limited to 'scripts/mod/sumversion.c')
-rw-r--r-- | scripts/mod/sumversion.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/scripts/mod/sumversion.c b/scripts/mod/sumversion.c index 0f6dcb4011a8..63062024ce0e 100644 --- a/scripts/mod/sumversion.c +++ b/scripts/mod/sumversion.c | |||
@@ -396,34 +396,19 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen) | |||
396 | unsigned long len; | 396 | unsigned long len; |
397 | struct md4_ctx md; | 397 | struct md4_ctx md; |
398 | char *sources, *end, *fname; | 398 | char *sources, *end, *fname; |
399 | const char *basename; | ||
400 | char filelist[PATH_MAX + 1]; | 399 | char filelist[PATH_MAX + 1]; |
401 | char *modverdir = getenv("MODVERDIR"); | ||
402 | 400 | ||
403 | if (!modverdir) | 401 | /* objects for a module are listed in the first line of *.mod file. */ |
404 | modverdir = "."; | 402 | snprintf(filelist, sizeof(filelist), "%.*smod", |
405 | 403 | (int)strlen(modname) - 1, modname); | |
406 | /* Source files for module are in .tmp_versions/modname.mod, | ||
407 | after the first line. */ | ||
408 | if (strrchr(modname, '/')) | ||
409 | basename = strrchr(modname, '/') + 1; | ||
410 | else | ||
411 | basename = modname; | ||
412 | snprintf(filelist, sizeof(filelist), "%s/%.*s.mod", modverdir, | ||
413 | (int) strlen(basename) - 2, basename); | ||
414 | 404 | ||
415 | file = grab_file(filelist, &len); | 405 | file = grab_file(filelist, &len); |
416 | if (!file) | 406 | if (!file) |
417 | /* not a module or .mod file missing - ignore */ | 407 | /* not a module or .mod file missing - ignore */ |
418 | return; | 408 | return; |
419 | 409 | ||
420 | sources = strchr(file, '\n'); | 410 | sources = file; |
421 | if (!sources) { | ||
422 | warn("malformed versions file for %s\n", modname); | ||
423 | goto release; | ||
424 | } | ||
425 | 411 | ||
426 | sources++; | ||
427 | end = strchr(sources, '\n'); | 412 | end = strchr(sources, '\n'); |
428 | if (!end) { | 413 | if (!end) { |
429 | warn("bad ending versions file for %s\n", modname); | 414 | warn("bad ending versions file for %s\n", modname); |