summaryrefslogtreecommitdiff
path: root/packages/busybox/slingbox-1.3.1/fdisk-readhex.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/busybox/slingbox-1.3.1/fdisk-readhex.patch')
-rw-r--r--packages/busybox/slingbox-1.3.1/fdisk-readhex.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/busybox/slingbox-1.3.1/fdisk-readhex.patch b/packages/busybox/slingbox-1.3.1/fdisk-readhex.patch
new file mode 100644
index 0000000000..d8e32c40e7
--- /dev/null
+++ b/packages/busybox/slingbox-1.3.1/fdisk-readhex.patch
@@ -0,0 +1,20 @@
+--- busybox-1.3.1/util-linux/fdisk.c.orig 2007-06-06 21:18:45.000000000 -0500
++++ busybox-1.3.1/util-linux/fdisk.c 2007-06-06 21:17:20.000000000 -0500
+@@ -331,13 +331,16 @@
+ read_hex(const struct systypes *sys)
+ {
+ unsigned long v;
++ char *e;
+ while (1) {
+ read_nonempty(_("Hex code (type L to list codes): "));
+ if (*line_ptr == 'l' || *line_ptr == 'L') {
+ list_types(sys);
+ continue;
+ }
+- v = bb_strtoul(line_ptr, NULL, 16);
++ v = bb_strtoul(line_ptr, &e, 16);
++ /* Clear out EINVAL code if it's because of the trailing \n */
++ if ((errno == EINVAL) && (*e == '\n')) errno = 0;
+ if (errno || v > 0xff) continue;
+ return v;
+ }