Takeharu Kato said:
I found that lsmod in busybox does not support linux-2.6. I fix this issue(it is caused by changes of /proc/modules format). If you use lsmod in busybox with kernel-2.6, please use this patch.
This commit is contained in:
parent
0d38301d85
commit
627814bdc3
@ -164,10 +164,51 @@ extern int lsmod_main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
printf("Module Size Used by");
|
printf("Module Size Used by");
|
||||||
check_tainted();
|
check_tainted();
|
||||||
|
#if defined(CONFIG_FEATURE_2_6_MODULES)
|
||||||
|
{
|
||||||
|
FILE *file;
|
||||||
|
char line[4096];
|
||||||
|
|
||||||
|
file = fopen("/proc/modules", "r");
|
||||||
|
|
||||||
|
if (!file)
|
||||||
|
bb_error_msg_and_die("Opening /proc/modules");
|
||||||
|
|
||||||
|
while (fgets(line, sizeof(line), file)) {
|
||||||
|
char *tok;
|
||||||
|
|
||||||
|
tok = strtok(line, " \t");
|
||||||
|
printf("%-19s", tok);
|
||||||
|
tok = strtok(NULL, " \t\n");
|
||||||
|
printf(" %8s", tok);
|
||||||
|
tok = strtok(NULL, " \t\n");
|
||||||
|
/* Null if no module unloading support. */
|
||||||
|
if (tok) {
|
||||||
|
printf(" %s", tok);
|
||||||
|
tok = strtok(NULL, "\n");
|
||||||
|
if (!tok)
|
||||||
|
tok = "";
|
||||||
|
/* New-style has commas, or -. If so,
|
||||||
|
truncate (other fields might follow). */
|
||||||
|
else if (strchr(tok, ',')) {
|
||||||
|
tok = strtok(tok, "\t ");
|
||||||
|
/* Strip trailing comma. */
|
||||||
|
if (tok[strlen(tok)-1] == ',')
|
||||||
|
tok[strlen(tok)-1] = '\0';
|
||||||
|
} else if (tok[0] == '-'
|
||||||
|
&& (tok[1] == '\0' || isspace(tok[1])))
|
||||||
|
tok = "";
|
||||||
|
printf(" %s", tok);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
fclose(file);
|
||||||
|
}
|
||||||
|
#else
|
||||||
if (bb_xprint_file_by_name("/proc/modules") < 0) {
|
if (bb_xprint_file_by_name("/proc/modules") < 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_FEATURE_2_6_MODULES */
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user