Constify parameters and globals
This makes some stuff const (partially to get a more convenient
libflashrom interface).
Corresponding to flashrom svn r1639.
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/cli_classic.c b/cli_classic.c
index dd070c5..14fb825 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -532,7 +532,7 @@
free(layoutfile);
free(pparam);
/* clean up global variables */
- free(chip_to_probe);
+ free((char *)chip_to_probe); /* Silence! Freeing is not modifying contents. */
chip_to_probe = NULL;
#ifndef STANDALONE
ret |= close_logfile();
diff --git a/flash.h b/flash.h
index 76c6942..3149b4f 100644
--- a/flash.h
+++ b/flash.h
@@ -222,7 +222,7 @@
extern int verbose_screen;
extern int verbose_logfile;
extern const char flashrom_version[];
-extern char *chip_to_probe;
+extern const char *chip_to_probe;
void map_flash_registers(struct flashctx *flash);
int read_memmapped(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
int erase_flash(struct flashctx *flash);
@@ -231,7 +231,7 @@
int min(int a, int b);
int max(int a, int b);
void tolower_string(char *str);
-char *extract_param(char **haystack, const char *needle, const char *delim);
+char *extract_param(const char *const *haystack, const char *needle, const char *delim);
int verify_range(struct flashctx *flash, uint8_t *cmpbuf, unsigned int start, unsigned int len);
int need_erase(uint8_t *have, uint8_t *want, unsigned int len, enum write_granularity gran);
char *strcat_realloc(char *dest, const char *src);
diff --git a/flashrom.c b/flashrom.c
index 6f7d680..fd438bb 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -40,13 +40,13 @@
#include "hwaccess.h"
const char flashrom_version[] = FLASHROM_VERSION;
-char *chip_to_probe = NULL;
+const char *chip_to_probe = NULL;
int verbose_screen = MSG_INFO;
int verbose_logfile = MSG_DEBUG2;
static enum programmer programmer = PROGRAMMER_INVALID;
-static char *programmer_param = NULL;
+static const char *programmer_param = NULL;
/*
* Programmers supporting multiple buses can have differing size limits on
@@ -351,7 +351,7 @@
return 0;
}
-int programmer_init(enum programmer prog, char *param)
+int programmer_init(enum programmer prog, const char *param)
{
int ret;
@@ -517,7 +517,7 @@
* needle and remove everything from the first occurrence of needle to the next
* delimiter from haystack.
*/
-char *extract_param(char **haystack, const char *needle, const char *delim)
+char *extract_param(const char *const *haystack, const char *needle, const char *delim)
{
char *param_pos, *opt_pos, *rest;
char *opt = NULL;
diff --git a/programmer.h b/programmer.h
index 1eb0a99..8de42bc 100644
--- a/programmer.h
+++ b/programmer.h
@@ -122,7 +122,7 @@
extern const struct programmer_entry programmer_table[];
-int programmer_init(enum programmer prog, char *param);
+int programmer_init(enum programmer prog, const char *param);
int programmer_shutdown(void);
enum bitbang_spi_master_type {