summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJinyang He <hejinyang@loongson.cn>2020-07-10 17:11:32 +0800
committerSimon Horman <horms@verge.net.au>2020-08-10 13:45:19 +0200
commit12e643a7dc65cc6d70f6d207867b6db943c6138b (patch)
treefd57c91e8a1858418f9ab92e00b9bcdc10de5544
parent7a576da125f14bc9b0c7fc4ecf41fd740f6f56b0 (diff)
downloadkexec-tools-12e643a7dc65cc6d70f6d207867b6db943c6138b.tar.gz
kexec-tools: Check callback first in kexec_iomem_for_each_line()
In the function kexec_iomem_for_each_line(), it is better to check the callback first, it can return directly if the callback is NULL. Signed-off-by: Jinyang He <hejinyang@loongson.cn> Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r--kexec/kexec-iomem.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/kexec/kexec-iomem.c b/kexec/kexec-iomem.c
index b5b52b1c..d00b6b61 100644
--- a/kexec/kexec-iomem.c
+++ b/kexec/kexec-iomem.c
@@ -42,6 +42,9 @@ int kexec_iomem_for_each_line(char *match,
int count;
int nr = 0, ret;
+ if (!callback)
+ return nr;
+
fp = fopen(iomem, "r");
if (!fp)
die("Cannot open %s\n", iomem);
@@ -53,13 +56,11 @@ int kexec_iomem_for_each_line(char *match,
str = line + consumed;
size = end - start + 1;
if (!match || memcmp(str, match, strlen(match)) == 0) {
- if (callback) {
- ret = callback(data, nr, str, start, size);
- if (ret < 0)
- break;
- else if (ret == 0)
- nr++;
- }
+ ret = callback(data, nr, str, start, size);
+ if (ret < 0)
+ break;
+ else if (ret == 0)
+ nr++;
}
}