diff options
-rw-r--r-- | futility/updater.c | 8 | ||||
-rwxr-xr-x | tests/futility/test_update.sh | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/futility/updater.c b/futility/updater.c index 8048a5b7..3e3dce2d 100644 --- a/futility/updater.c +++ b/futility/updater.c @@ -188,14 +188,18 @@ static int setup_config_quirks(const char *quirks, struct updater_config *cfg) int r = 0; char *buf = strdup(quirks); char *token; + const char *delimiters = ", \n\r\t"; - token = strtok(buf, ", "); - for (; token; token = strtok(NULL, ", ")) { + token = strtok(buf, delimiters); + for (; token; token = strtok(NULL, delimiters)) { const char *name = token; char *equ = strchr(token, '='); int i, value = 1; struct quirk_entry *entry = cfg->quirks; + if (!*name) + continue; + if (equ) { *equ = '\0'; value = strtol(equ + 1, NULL, 0); diff --git a/tests/futility/test_update.sh b/tests/futility/test_update.sh index 57b3f460..655bab4a 100755 --- a/tests/futility/test_update.sh +++ b/tests/futility/test_update.sh @@ -327,6 +327,11 @@ test_update "Full update (--quirks enlarge_image)" \ "${FROM_IMAGE}.large" "${TMP}.expected.large" --quirks enlarge_image \ -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1 +test_update "Full update (multi-line --quirks enlarge_image)" \ + "${FROM_IMAGE}.large" "${TMP}.expected.large" --quirks ' + enlarge_image + ' -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1 + test_update "Full update (--quirks unlock_me_for_update)" \ "${FROM_IMAGE}" "${TMP}.expected.me_unlocked" \ --quirks unlock_me_for_update \ |