The recently added uuid_from_device_tree function can be refactored by
minimizing use of local variables and early returns in error
handling. No functional change.
Signed-off-by: Daniel Wagner <dwagner@suse.de>
int uuid_from_device_tree(char *system_uuid)
{
- char filename[PATH_MAX];
- int f, len, ret;
+ ssize_t len;
+ int f;
- sprintf(filename, "%s", PATH_UUID_IBM);
- f = open(filename, O_RDONLY);
+ f = open(PATH_UUID_IBM, O_RDONLY);
if (f < 0)
- goto out_close;
+ return -ENXIO;
len = read(f, system_uuid, 512);
+ close(f);
if (len < 0)
- goto out_close;
+ return -ENXIO;
-out_close:
- close(f);
- ret = -ENXIO;
- return strlen(system_uuid) ? 0 : ret;
+ return strlen(system_uuid) ? 0 : -ENXIO;
}
#define PATH_DMI_ENTRIES "/sys/firmware/dmi/entries"