summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Reisner <d@falconindy.com>2011-06-03 19:24:07 +0200
committerDave Reisner <d@falconindy.com>2011-06-07 20:38:43 +0200
commit16e6c970bc2a261cb3c890bc92ec41bb393821f5 (patch)
treea6fb32df029f2757eea493ef57261d2a811d6289
parent4a69075b0a11a4ca982d4daa8b30dd6117e845d4 (diff)
downloadmkinitcpio-16e6c970bc2a261cb3c890bc92ec41bb393821f5.tar.gz
mkinitcpio-16e6c970bc2a261cb3c890bc92ec41bb393821f5.tar.xz
functions: refactor checked modules
Do a single grep to compare the contents of the module file (if exists) against the results of all_modules for the provided arguments. If there's no module file, this is still just pass through to all_modules. Signed-off-by: Dave Reisner <d@falconindy.com>
-rw-r--r--functions11
1 files changed, 3 insertions, 8 deletions
diff --git a/functions b/functions
index 142b974..75ea0a0 100644
--- a/functions
+++ b/functions
@@ -65,16 +65,11 @@ all_modules ()
checked_modules ()
{
- if [ -e "${MODULE_FILE}" ]; then
- for mod in $(all_modules $@); do
- modname=$(get_module_name "${mod}")
- if grep -q "^${modname}$" "${MODULE_FILE}"; then
- echo ${modname}
- fi
- done
+ if [[ -s "$MODULE_FILE" ]]; then
+ grep -xFf "$MODULE_FILE" <(all_modules "$@")
return 1
else
- all_modules ${@}
+ all_modules "$@"
fi
}