From: jianchunfu <[email protected]> Use an Error pointer to report the error back to the caller.
While we're at it, return '0' instead of '-1' on error since the function is supposed to return an uint64_t. Signed-off-by: jianchunfu <[email protected]> [danielhb: return 0, use error_set_errno() instead of fprintf] Signed-off-by: Daniel Henrique Barboza <[email protected]> --- target/ppc/kvm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index 6eed466f80..65d136ed5a 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -1896,7 +1896,7 @@ static int kvmppc_find_cpu_dt(char *buf, int buf_len) return 0; } -static uint64_t kvmppc_read_int_dt(const char *filename) +static uint64_t kvmppc_read_int_dt(const char *filename, Error **errp) { union { uint32_t v32; @@ -1907,7 +1907,8 @@ static uint64_t kvmppc_read_int_dt(const char *filename) f = fopen(filename, "rb"); if (!f) { - return -1; + error_setg_errno(errp, errno, "error opening %s", filename); + return 0; } len = fread(&u, 1, sizeof(u), f); @@ -1938,7 +1939,7 @@ static uint64_t kvmppc_read_int_cpu_dt(const char *propname) } tmp = g_strdup_printf("%s/%s", buf, propname); - val = kvmppc_read_int_dt(tmp); + val = kvmppc_read_int_dt(tmp, NULL); g_free(tmp); return val; -- 2.36.1
