[PATCH -next 2/2] kbuild: fix for updated LZ4 tool with the new streaming format

Borislav Petkov
2013-07-17T21:44:42Z

On Wed, Jul 17, 2013 at 11:16:49PM +0200, Sam Ravnborg wrote:
> +
> +static void exec_command(const char *command, struct symbol *sym)
> +{
> + char buffer[2048];
> + FILE *stream;

Just some indentation level saving:

> +
> + stream = popen(command, "r");
> +
> + if (stream != NULL) {

if (!stream) {
menu_warn(current_entry, "command '%s' failed to execute", command);
return;
}

and the rest starts one level less to the right:

if (fgets(buffer, sizeof(buffer), stream) != NULL) {
int i;

buffer[sizeof(buffer) - 1] = '\0';

and so on...

> +
> + /* Drop any trialing newlines */
> + i = strlen(buffer);
> + while (i > 0 && buffer[i - 1] == '\n') {
> + buffer[i - 1] = '\0';
> + i--;
> + }
> + /* Validate the output of the command */
> + if (strlen(buffer) == 0) {
> + menu_warn(current_entry,
> + "command '%s' - invalid (empty?) return value: \"%s\"",
> + command, buffer);
> + return;
> + }
> +
> + menu_warn(current_entry, "default: %s", buffer);
> + sym_add_default(sym, buffer);
> + } else {
> + menu_warn(current_entry, "command '%s' - empty return value", command);
> + }
> + pclose(stream);
> + } else {
> + menu_warn(current_entry, "command '%s' failed to execute", command);
> + }
> +}

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--