syslinux/syslinux-4.04-isohybrid-hex-option-parsing.diff

57 lines
1.9 KiB
Diff

diff --git a/utils/isohybrid.c b/utils/isohybrid.c
index 7ee9a7f..e6c50ef 100644
--- a/utils/isohybrid.c
+++ b/utils/isohybrid.c
@@ -135,32 +135,32 @@ check_option(int argc, char *argv[])
switch (n)
{
case 'h':
- if (!sscanf(optarg, "%hu", &head) || head < 1 || head > 256)
+ if (!sscanf(optarg, "%hi", &head) || head < 1 || head > 256)
errx(1, "invalid head: `%s', 1 <= head <= 256", optarg);
break;
case 's':
- if (!sscanf(optarg, "%hhu", &sector) || sector < 1 || sector > 63)
+ if (!sscanf(optarg, "%hhi", &sector) || sector < 1 || sector > 63)
errx(1, "invalid sector: `%s', 1 <= sector <= 63", optarg);
break;
case 'e':
- if (!sscanf(optarg, "%hhu", &entry) || entry < 1 || entry > 4)
+ if (!sscanf(optarg, "%hhi", &entry) || entry < 1 || entry > 4)
errx(1, "invalid entry: `%s', 1 <= entry <= 4", optarg);
break;
case 'o':
- if (!sscanf(optarg, "%hhu", &offset) || offset > 64)
+ if (!sscanf(optarg, "%hhi", &offset) || offset > 64)
errx(1, "invalid offset: `%s', 0 <= offset <= 64", optarg);
break;
case 't':
- if (!sscanf(optarg, "%hu", &type) || type > 255)
+ if (!sscanf(optarg, "%hi", &type) || type > 255)
errx(1, "invalid type: `%s', 0 <= type <= 255", optarg);
break;
case 'i':
- if (!sscanf(optarg, "%u", &id))
+ if (!sscanf(optarg, "%i", &id))
errx(1, "invalid id: `%s'", optarg);
break;
diff --git a/utils/isohybrid.h b/utils/isohybrid.h
index 826e90c..eecf1ca 100644
--- a/utils/isohybrid.h
+++ b/utils/isohybrid.h
@@ -20,7 +20,7 @@
*
*/
-#define VERSION "0.11"
+#define VERSION "0.12"
#define BUFSIZE 2048
#define MBRSIZE 432