diff options
author | Jinyang He <hejinyang@loongson.cn> | 2020-07-10 17:11:32 +0800 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2020-08-10 13:45:19 +0200 |
commit | 12e643a7dc65cc6d70f6d207867b6db943c6138b (patch) | |
tree | fd57c91e8a1858418f9ab92e00b9bcdc10de5544 | |
parent | 7a576da125f14bc9b0c7fc4ecf41fd740f6f56b0 (diff) |
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.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/kexec/kexec-iomem.c b/kexec/kexec-iomem.c index b5b52b1..d00b6b6 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++; } } |