mirror of https://gitee.com/openkylin/linux.git
MIPS: Cobalt use strlcat() for the command line arguments
Tested with CoLo v1.22 Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org> Patchwork: http://patchwork.linux-mips.org/patch/807/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
c6a3c851a2
commit
0833c76bd8
|
@ -97,26 +97,18 @@ void __init plat_mem_setup(void)
|
|||
|
||||
void __init prom_init(void)
|
||||
{
|
||||
int narg, indx, posn, nchr;
|
||||
unsigned long memsz;
|
||||
int argc, i;
|
||||
char **argv;
|
||||
|
||||
memsz = fw_arg0 & 0x7fff0000;
|
||||
narg = fw_arg0 & 0x0000ffff;
|
||||
argc = fw_arg0 & 0x0000ffff;
|
||||
argv = (char **)fw_arg1;
|
||||
|
||||
if (narg) {
|
||||
arcs_cmdline[0] = '\0';
|
||||
argv = (char **) fw_arg1;
|
||||
posn = 0;
|
||||
for (indx = 1; indx < narg; ++indx) {
|
||||
nchr = strlen(argv[indx]);
|
||||
if (posn + 1 + nchr + 1 > sizeof(arcs_cmdline))
|
||||
break;
|
||||
if (posn)
|
||||
arcs_cmdline[posn++] = ' ';
|
||||
strcpy(arcs_cmdline + posn, argv[indx]);
|
||||
posn += nchr;
|
||||
}
|
||||
for (i = 1; i < argc; i++) {
|
||||
strlcat(arcs_cmdline, argv[i], COMMAND_LINE_SIZE);
|
||||
if (i < (argc - 1))
|
||||
strlcat(arcs_cmdline, " ", COMMAND_LINE_SIZE);
|
||||
}
|
||||
|
||||
add_memory_region(0x0, memsz, BOOT_MEM_RAM);
|
||||
|
|
Loading…
Reference in New Issue