X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=kmodloader.c;h=5ba75c1aa36d24282991708c8bca019b5faa03ac;hb=e66233771c93b4ef712cb7b2c954d44edf2228dc;hp=ad1f1c0f4f9e7d13cac8905a26dff94f863806df;hpb=fd4bb41ee7ab136d25609c2a917beea5d52b723b;p=project%2Fubox.git diff --git a/kmodloader.c b/kmodloader.c index ad1f1c0..5ba75c1 100644 --- a/kmodloader.c +++ b/kmodloader.c @@ -609,7 +609,10 @@ static int main_insmod(int argc, char **argv) cur += sprintf(cur, "%s", argv[i]); } - init_module_folders(); + if (init_module_folders()) { + fprintf(stderr, "falied to find the folder holding the modules\n"); + return -1; + } if (get_module_path(argv[1])) { name = argv[1]; @@ -658,15 +661,26 @@ static int main_rmmod(int argc, char **argv) static int main_lsmod(int argc, char **argv) { struct module *m; + char *dep; if (scan_loaded_modules()) return -1; avl_for_each_element(&modules, m, avl) - if (m->state == LOADED) - printf("%-20s%8d%3d %s\n", - m->name, m->size, m->usage, - (*m->depends == '-') ? ("") : (m->depends)); + if (m->state == LOADED) { + printf("%-20s%8d%3d ", + m->name, m->size, m->usage); + if (m->depends && strcmp(m->depends, "-") && strcmp(m->depends, "")) { + dep = m->depends; + while (*dep) { + printf("%s", dep); + dep = dep + strlen(dep) + 1; + if (*dep) + printf(","); + } + } + printf("\n"); + } free_modules();