Re: [PATCH 3/3] exterminate strtok - usr/gen_init_cpio.c

From: Horst von Brand
Date: Wed Aug 24 2005 - 16:06:38 EST


Jesper Juhl <jesper.juhl@xxxxxxxxx> wrote:
> Convert strtok() use to strsep() in usr/gen_init_cpio.c

This is userland code...

No, I'm not looking it over carfully, just a fast look over.

> I've compile tested this patch and it compiles fine.

You should be able ti test it then.

> I build a 2.6.13-rc6-mm2 kernel with the patch applied without problems, and
> the resulting kernel boots and runs just fine (using it right now).
> But despite this basic testing it would still be nice if someone would
> double-check that I haven't made some silly mistake that would break some
> other setup than mine.
>
>
> Signed-off-by: Jesper Juhl <jesper.juhl@xxxxxxxxx>
> ---
>
> gen_init_cpio.c | 31 ++++++++++++++++++++++---------
> 1 files changed, 22 insertions(+), 9 deletions(-)
>
> --- linux-2.6.13-rc6-mm2-orig/usr/gen_init_cpio.c 2005-06-17 21:48:29.000000000 +0200
> +++ linux-2.6.13-rc6-mm2/usr/gen_init_cpio.c 2005-08-24 18:58:21.000000000 +0200
> @@ -438,7 +438,7 @@ struct file_handler file_handler_table[]
> int main (int argc, char *argv[])
> {
> FILE *cpio_list;
> - char line[LINE_SIZE];
> + char *line, *ln;

No need for this, there is no particular stack frugality requirement with
user code.

> char *args, *type;
> int ec = 0;
> int line_nr = 0;
> @@ -455,7 +455,14 @@ int main (int argc, char *argv[])
> exit(1);
> }
>
> - while (fgets(line, LINE_SIZE, cpio_list)) {
> + ln = malloc(LINE_SIZE);

Ditto.

[...]

> - if ('\n' == *type) {
> + if (!*type || '\n' == *type) {

Redundant. If *type == '\n', it is certainly != 0.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/