Skip to content

Commit

Permalink
Consolidate utilfdt_read_len() variants
Browse files Browse the repository at this point in the history
There are no less than _four_ variants on utilfdt_read() which is a bit
excessive.  The _len() variants are particularly pointless, since we can
achieve the same thing with very little extra verbosity by using the usual
convention of ignoring return parameters if they're NULL.  So, get rid of
them (we keep the shorter names without _len, but add now-optional len
parameters).

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
  • Loading branch information
dgibson committed Jun 7, 2018
1 parent d5db538 commit 6473a21
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 38 deletions.
2 changes: 1 addition & 1 deletion fdtdump.c
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ int main(int argc, char *argv[])
usage("missing input filename");
file = argv[optind];

buf = utilfdt_read_len(file, &len);
buf = utilfdt_read(file, &len);
if (!buf)
die("could not read: %s\n", file);

Expand Down
2 changes: 1 addition & 1 deletion fdtget.c
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ static int do_fdtget(struct display_info *disp, const char *filename,
const char *prop;
int i, node;

blob = utilfdt_read(filename);
blob = utilfdt_read(filename, NULL);
if (!blob)
return -1;

Expand Down
4 changes: 2 additions & 2 deletions fdtoverlay.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ static int do_fdtoverlay(const char *input_filename,
off_t blob_len, ov_len, total_len;
int i, ret = -1;

blob = utilfdt_read_len(input_filename, &blob_len);
blob = utilfdt_read(input_filename, &blob_len);
if (!blob) {
fprintf(stderr, "\nFailed to read base blob %s\n",
input_filename);
Expand All @@ -84,7 +84,7 @@ static int do_fdtoverlay(const char *input_filename,
/* read and keep track of the overlay blobs */
total_len = 0;
for (i = 0; i < argc; i++) {
ovblob[i] = utilfdt_read_len(argv[i], &ov_len);
ovblob[i] = utilfdt_read(argv[i], &ov_len);
if (!ovblob[i]) {
fprintf(stderr, "\nFailed to read overlay %s\n",
argv[i]);
Expand Down
2 changes: 1 addition & 1 deletion fdtput.c
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ static int do_fdtput(struct display_info *disp, const char *filename,
char *node;
int len, ret = 0;

blob = utilfdt_read(filename);
blob = utilfdt_read(filename, NULL);
if (!blob)
return -1;

Expand Down
2 changes: 1 addition & 1 deletion tests/testutils.c
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ int nodename_eq(const char *s1, const char *s2)
void *load_blob(const char *filename)
{
char *blob;
int ret = utilfdt_read_err(filename, &blob);
int ret = utilfdt_read_err(filename, &blob, NULL);

if (ret)
CONFIG("Couldn't open blob from \"%s\": %s", filename,
Expand Down
21 changes: 5 additions & 16 deletions util.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ char get_escape_char(const char *s, int *i)
return val;
}

int utilfdt_read_err_len(const char *filename, char **buffp, off_t *len)
int utilfdt_read_err(const char *filename, char **buffp, off_t *len)
{
int fd = 0; /* assume stdin */
char *buf = NULL;
Expand Down Expand Up @@ -264,20 +264,15 @@ int utilfdt_read_err_len(const char *filename, char **buffp, off_t *len)
free(buf);
else
*buffp = buf;
*len = bufsize;
if (len)
*len = bufsize;
return ret;
}

int utilfdt_read_err(const char *filename, char **buffp)
{
off_t len;
return utilfdt_read_err_len(filename, buffp, &len);
}

char *utilfdt_read_len(const char *filename, off_t *len)
char *utilfdt_read(const char *filename, off_t *len)
{
char *buff;
int ret = utilfdt_read_err_len(filename, &buff, len);
int ret = utilfdt_read_err(filename, &buff, len);

if (ret) {
fprintf(stderr, "Couldn't open blob from '%s': %s\n", filename,
Expand All @@ -288,12 +283,6 @@ char *utilfdt_read_len(const char *filename, off_t *len)
return buff;
}

char *utilfdt_read(const char *filename)
{
off_t len;
return utilfdt_read_len(filename, &len);
}

int utilfdt_write_err(const char *filename, const void *blob)
{
int fd = 1; /* assume stdout */
Expand Down
20 changes: 4 additions & 16 deletions util.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,16 +98,10 @@ char get_escape_char(const char *s, int *i);
* stderr.
*
* @param filename The filename to read, or - for stdin
* @return Pointer to allocated buffer containing fdt, or NULL on error
*/
char *utilfdt_read(const char *filename);

/**
* Like utilfdt_read(), but also passes back the size of the file read.
*
* @param len If non-NULL, the amount of data we managed to read
* @return Pointer to allocated buffer containing fdt, or NULL on error
*/
char *utilfdt_read_len(const char *filename, off_t *len);
char *utilfdt_read(const char *filename, off_t *len);

/**
* Read a device tree file into a buffer. Does not report errors, but only
Expand All @@ -116,16 +110,10 @@ char *utilfdt_read_len(const char *filename, off_t *len);
*
* @param filename The filename to read, or - for stdin
* @param buffp Returns pointer to buffer containing fdt
* @return 0 if ok, else an errno value representing the error
*/
int utilfdt_read_err(const char *filename, char **buffp);

/**
* Like utilfdt_read_err(), but also passes back the size of the file read.
*
* @param len If non-NULL, the amount of data we managed to read
* @return 0 if ok, else an errno value representing the error
*/
int utilfdt_read_err_len(const char *filename, char **buffp, off_t *len);
int utilfdt_read_err(const char *filename, char **buffp, off_t *len);

/**
* Write a device tree buffer to a file. This will report any errors on
Expand Down

0 comments on commit 6473a21

Please sign in to comment.