diff options
author | James <> | 2015-11-04 11:49:21 +0000 |
---|---|---|
committer | James <> | 2015-11-04 11:49:21 +0000 |
commit | 716ca530e1c4515d8683c9d5be3d56b301758b66 (patch) | |
tree | 700eb5bcc1a462a5f21dcec15ce7c97ecfefa772 /tools/dosfstools/patches/0004-Make-all-char-that-may-take-literals-const.patch | |
download | trunk-47381-master.tar.gz trunk-47381-master.tar.bz2 trunk-47381-master.zip |
Diffstat (limited to 'tools/dosfstools/patches/0004-Make-all-char-that-may-take-literals-const.patch')
-rw-r--r-- | tools/dosfstools/patches/0004-Make-all-char-that-may-take-literals-const.patch | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/tools/dosfstools/patches/0004-Make-all-char-that-may-take-literals-const.patch b/tools/dosfstools/patches/0004-Make-all-char-that-may-take-literals-const.patch new file mode 100644 index 0000000..be553c8 --- /dev/null +++ b/tools/dosfstools/patches/0004-Make-all-char-that-may-take-literals-const.patch @@ -0,0 +1,169 @@ +From 16e97e9741a02f6c2c29b3da45b62ac798d76403 Mon Sep 17 00:00:00 2001 +From: Andreas Bombe <aeb@debian.org> +Date: Wed, 28 Jan 2015 15:07:18 +0100 +Subject: [PATCH 04/14] Make all char* that may take literals const + +Every char* variable or function argument that may be given a literal +string is now made const. Additionally add -Wwrite-strings to CFLAGS to +enable a warning where const would be missing. + +Signed-off-by: Andreas Bombe <aeb@debian.org> +--- + Makefile | 2 +- + src/boot.c | 4 ++-- + src/check.c | 2 +- + src/common.c | 6 +++--- + src/common.h | 6 +++--- + src/mkfs.fat.c | 8 +++++--- + 6 files changed, 15 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index 81256ef..3cbdb76 100644 +--- a/Makefile ++++ b/Makefile +@@ -30,7 +30,7 @@ MANDIR = $(PREFIX)/share/man + #OPTFLAGS = -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 + OPTFLAGS = -O2 -fomit-frame-pointer -D_GNU_SOURCE $(shell getconf LFS_CFLAGS) + #WARNFLAGS = -Wall -pedantic -std=c99 +-WARNFLAGS = -Wall -Wextra -Wno-sign-compare -Wno-missing-field-initializers -Wmissing-prototypes -Wstrict-prototypes ++WARNFLAGS = -Wall -Wextra -Wno-sign-compare -Wno-missing-field-initializers -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings + DEBUGFLAGS = -g + CFLAGS += $(OPTFLAGS) $(WARNFLAGS) $(DEBUGFLAGS) + +diff --git a/src/boot.c b/src/boot.c +index 5b3825c..be7bfb7 100644 +--- a/src/boot.c ++++ b/src/boot.c +@@ -46,7 +46,7 @@ + + static struct { + __u8 media; +- char *descr; ++ const char *descr; + } mediabytes[] = { + { + 0xf0, "5.25\" or 3.5\" HD floppy"}, { +@@ -64,7 +64,7 @@ static struct { + #define GET_UNALIGNED_W(f) \ + ( (__u16)f[0] | ((__u16)f[1]<<8) ) + +-static char *get_media_descr(unsigned char media) ++static const char *get_media_descr(unsigned char media) + { + int i; + +diff --git a/src/check.c b/src/check.c +index daa6d69..488f715 100644 +--- a/src/check.c ++++ b/src/check.c +@@ -464,7 +464,7 @@ static void rename_file(DOS_FILE * file) + + static int handle_dot(DOS_FS * fs, DOS_FILE * file, int dots) + { +- char *name; ++ const char *name; + + name = + strncmp((const char *)file->dir_ent.name, MSDOS_DOT, +diff --git a/src/common.c b/src/common.c +index af222a2..9d11193 100644 +--- a/src/common.c ++++ b/src/common.c +@@ -37,7 +37,7 @@ typedef struct _link { + struct _link *next; + } LINK; + +-void die(char *msg, ...) ++void die(const char *msg, ...) + { + va_list args; + +@@ -48,7 +48,7 @@ void die(char *msg, ...) + exit(1); + } + +-void pdie(char *msg, ...) ++void pdie(const char *msg, ...) + { + va_list args; + +@@ -96,7 +96,7 @@ int min(int a, int b) + return a < b ? a : b; + } + +-char get_key(char *valid, char *prompt) ++char get_key(const char *valid, const char *prompt) + { + int ch, okay; + +diff --git a/src/common.h b/src/common.h +index 8508602..b127f63 100644 +--- a/src/common.h ++++ b/src/common.h +@@ -25,11 +25,11 @@ + #ifndef _COMMON_H + #define _COMMON_H + +-void die(char *msg, ...) __attribute((noreturn)); ++void die(const char *msg, ...) __attribute((noreturn)); + + /* Displays a prinf-style message and terminates the program. */ + +-void pdie(char *msg, ...) __attribute((noreturn)); ++void pdie(const char *msg, ...) __attribute((noreturn)); + + /* Like die, but appends an error message according to the state of errno. */ + +@@ -50,7 +50,7 @@ int min(int a, int b); + + /* Returns the smaller integer value of a and b. */ + +-char get_key(char *valid, char *prompt); ++char get_key(const char *valid, const char *prompt); + + /* Displays PROMPT and waits for user input. Only characters in VALID are + accepted. Terminates the program on EOF. Returns the character. */ +diff --git a/src/mkfs.fat.c b/src/mkfs.fat.c +index 1f702ad..a3dff54 100644 +--- a/src/mkfs.fat.c ++++ b/src/mkfs.fat.c +@@ -250,7 +250,7 @@ char dummy_boot_code[BOOTCODE_SIZE] = "\x0e" /* push cs */ + + /* Global variables - the root of all evil :-) - see these and weep! */ + +-static char *program_name = "mkfs.fat"; /* Name of the program */ ++static const char *program_name = "mkfs.fat"; /* Name of the program */ + static char *device_name = NULL; /* Name of the device on which to create the filesystem */ + static int atari_format = 0; /* Use Atari variation of MS-DOS FS format */ + static int check = FALSE; /* Default to no readablity checking */ +@@ -1412,6 +1412,7 @@ int main(int argc, char **argv) + int create = 0; + uint64_t cblocks = 0; + int min_sector_size; ++ int bad_block_count = 0; + + if (argc && *argv) { /* What's the program name? */ + char *p; +@@ -1653,16 +1654,17 @@ int main(int argc, char **argv) + fprintf(stderr, "Warning: block count mismatch: "); + fprintf(stderr, "found %llu but assuming %llu.\n", (unsigned long long)cblocks, (unsigned long long)blocks); + } ++ if (*tmp) ++ bad_block_count = 1; + } else if (optind == argc - 1) { /* Or use value found */ + if (create) + die("Need intended size with -C."); + blocks = cblocks; +- tmp = ""; + } else { + fprintf(stderr, "No device specified!\n"); + usage(); + } +- if (*tmp) { ++ if (bad_block_count) { + printf("Bad block count : %s\n", argv[optind + 1]); + usage(); + } +-- +1.9.1 + |