diff options
author | Andrea Adami <andrea.adami@gmail.com> | 2013-05-13 01:22:23 +0200 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2013-05-13 09:50:24 +0100 |
commit | 97957e5cee9a797d3e05c1a8848338a033f40770 (patch) | |
tree | 59351568b51e711b80ca3fff348e61d9079eaf01 /meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch | |
parent | 06318f320803814ac7f2827473a8e46a8eb0d8cb (diff) | |
download | meta-openembedded-contrib-97957e5cee9a797d3e05c1a8848338a033f40770.tar.gz |
kexec-tools-klibc_2.0.2: refactor and extend patches for building
* some old patches apparently unneeded have been removed
* patches are now better split
* fix build for x86 and x86-64
* tested with qemuarm, qemuppc, qemumips, qemux86, qemux86-64
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Diffstat (limited to 'meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch')
-rw-r--r-- | meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch new file mode 100644 index 0000000000..14f4d2ada9 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch @@ -0,0 +1,27 @@ +--- a/kexec/arch/i386/x86-linux-setup.c ++++ b/kexec/arch/i386/x86-linux-setup.c +@@ -176,6 +176,8 @@ static int file_scanf(const char *dir, c + FILE *fp; + int retno; + char filename[PATH_MAX]; ++ long line_size = MAX_LINE; ++ char *line; + + snprintf(filename, PATH_MAX, "%s/%s", dir, file); + filename[PATH_MAX-1] = 0; +@@ -186,7 +188,14 @@ static int file_scanf(const char *dir, c + } + + va_start(argptr, scanf_line); +- retno = vfscanf(fp, scanf_line, argptr); ++ ++ line = xmalloc(sizeof(line) * line_size); ++ while(fgets(line, sizeof(line), fp) != 0 ) { ++ line_size += MAX_LINE; ++ line = xrealloc(line,line_size); ++ } ++ retno = vsscanf(line, scanf_line, argptr); ++ + va_end(argptr); + + fclose(fp); |