Consolidate utilfdt_read_len() variants

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>
This commit is contained in:
David Gibson 2018-03-16 18:27:03 +11:00
parent d5db5382c5
commit 6473a21d8b
7 changed files with 15 additions and 38 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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);
@ -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]);

View file

@ -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;

View file

@ -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,

21
util.c
View file

@ -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;
@ -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,
@ -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 */

20
util.h
View file

@ -98,16 +98,10 @@ char get_escape_char(const char *s, int *i);
* stderr.
*
* @param filename The filename to read, or - for stdin
* @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(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
*/
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
@ -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
* @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(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
*/
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