]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - common/cmd_strings.c
strings cmd: drop old CONFIG_CFG_STRINGS define
[karo-tx-uboot.git] / common / cmd_strings.c
1 /*
2  * cmd_strings.c - just like `strings` command
3  *
4  * Copyright (c) 2008 Analog Devices Inc.
5  *
6  * Licensed under the GPL-2 or later.
7  */
8
9 #include <config.h>
10 #include <common.h>
11 #include <command.h>
12
13 static char *start_addr, *last_addr;
14
15 int do_strings(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
16 {
17         if (argc == 1) {
18                 printf("Usage:\n%s\n", cmdtp->usage);
19                 return 1;
20         }
21
22         if ((flag & CMD_FLAG_REPEAT) == 0) {
23                 start_addr = (char *)simple_strtoul(argv[1], NULL, 16);
24                 if (argc > 2)
25                         last_addr = (char *)simple_strtoul(argv[2], NULL, 16);
26                 else
27                         last_addr = (char *)-1;
28         }
29
30         char *addr = start_addr;
31         do {
32                 printf("%s\n", addr);
33                 addr += strlen(addr) + 1;
34         } while (addr[0] && addr < last_addr);
35
36         last_addr = addr + (last_addr - start_addr);
37         start_addr = addr;
38
39         return 0;
40 }
41
42 U_BOOT_CMD(strings, 3, 1, do_strings,
43         "strings - display strings\n",
44         "<addr> [byte count]\n"
45         "    - display strings at <addr> for at least [byte count] or first double NUL\n");