diff src/context.cpp @ 19:b24369330483 stable-1-0-7

Fedora 9 compile and const correctness.
author Carl Byington <carl@five-ten-sg.com>
date Thu, 12 Jun 2008 18:17:33 -0700
parents 8ebecad6530f
children 09564d4acd9e
line wrap: on
line diff
--- a/src/context.cpp	Fri Mar 21 16:02:40 2008 -0700
+++ b/src/context.cpp	Thu Jun 12 18:17:33 2008 -0700
@@ -8,13 +8,13 @@
 
 #include "includes.h"
 
-char *token_envfrom;
-char *token_include;
-char *token_lbrace;
-char *token_rbrace;
-char *token_rcptto;
-char *token_remove;
-char *token_semi;
+const char *token_envfrom;
+const char *token_include;
+const char *token_lbrace;
+const char *token_rbrace;
+const char *token_rcptto;
+const char *token_remove;
+const char *token_semi;
 
 string_set	all_strings;	// owns all the strings, only modified by the config loader thread
 const int maxlen = 1000;	// used for snprintf buffers
@@ -30,7 +30,7 @@
 }
 
 
-bool CONFIG::find(char *needle, string_set &haystack) {
+bool CONFIG::find(const char *needle, string_set &haystack) {
 	string_set::iterator i = haystack.find(needle);
 	if (i != haystack.end()) return true;		   // found user@domain.tld key
 	char *x = strchr(needle, '@');
@@ -48,7 +48,7 @@
 }
 
 
-char *CONFIG::find(char *needle, string_map &haystack) {
+const char *CONFIG::find(const char *needle, string_map &haystack) {
 	string_map::iterator i = haystack.find(needle);
 	if (i != haystack.end()) return (*i).second;		// found user@domain.tld key
 	char *x = strchr(needle, '@');
@@ -69,8 +69,8 @@
 void CONFIG::dump() {
 	printf("rcpt_to {\n");
 	for (string_map::iterator i=rcpt_to.begin(); i!=rcpt_to.end(); i++) {
-		char	 *to = (*i).first;
-		char *target = (*i).second;
+		const char	 *to = (*i).first;
+		const char *target = (*i).second;
 		if (!target) target = "\"\"";
 		bool rem = find_remove(to);
 		printf("    %s \t %s%s;\n", to, target, (rem) ? " remove" : "");
@@ -78,8 +78,8 @@
 	printf("};\n");
 	printf("env_from {\n");
 	for (string_map::iterator i=env_from.begin(); i!=env_from.end(); i++) {
-		char   *from = (*i).first;
-		char *target = (*i).second;
+		const char   *from = (*i).first;
+		const char *target = (*i).second;
 		if (!target) target = "\"\"";
 		printf("    %s \t %s;\n", from, target);
 	}
@@ -92,7 +92,7 @@
 //
 void discard(string_set &s) {
 	for (string_set::iterator i=s.begin(); i!=s.end(); i++) {
-		free(*i);
+		free((void*)*i);
 	}
 	s.clear();
 }
@@ -101,7 +101,7 @@
 ////////////////////////////////////////////////
 // helper to register a string in a string set
 //
-char* register_string(string_set &s, char *name) {
+const char* register_string(string_set &s, const char *name) {
 	string_set::iterator i = s.find(name);
 	if (i != s.end()) return *i;
 	char *x = strdup(name);
@@ -113,7 +113,7 @@
 ////////////////////////////////////////////////
 // register a global string
 //
-char* register_string(char *name) {
+const char* register_string(const char *name) {
 	return register_string(all_strings, name);
 }
 
@@ -128,9 +128,9 @@
 
 ////////////////////////////////////////////////
 //
-bool tsa(TOKEN &tok, char *token);
-bool tsa(TOKEN &tok, char *token) {
-	char *have = tok.next();
+bool tsa(TOKEN &tok, const char *token);
+bool tsa(TOKEN &tok, const char *token) {
+	const char *have = tok.next();
 	if (have == token) return true;
 	tok.token_error(token, have);
 	return false;
@@ -143,10 +143,10 @@
 bool parse_rcpt_to(TOKEN &tok, CONFIG &dc) {
 	if (!tsa(tok, token_lbrace)) return false;
 	while (true) {
-		char *have = tok.next();
+		const char *have = tok.next();
 		if (!have) break;
 		if (have == token_rbrace) break;
-		char *target = tok.next();
+		const char *target = tok.next();
 		dc.add_to(have, target);
 		target = tok.next();
 		if (target == token_remove) {
@@ -168,14 +168,14 @@
 bool parse_env_from(TOKEN &tok, CONFIG &dc) {
 	if (!tsa(tok, token_lbrace)) return false;
 	while (true) {
-		char *have = tok.next();
+		const char *have = tok.next();
 		if (!have) break;
 		if (have == token_rbrace) break;
 		if (have == token_semi) {
 			// optional separators
 		}
 		else {
-			char *target = tok.next();
+			const char *target = tok.next();
 			dc.add_from(have, target);
 		}
 	}
@@ -186,10 +186,10 @@
 ////////////////////////////////////////////////
 // parse a config file
 //
-bool load_conf(CONFIG &dc, char *fn) {
+bool load_conf(CONFIG &dc, const char *fn) {
 	TOKEN tok(fn, &dc.config_files);
 	while (true) {
-		char *have = tok.next();
+		const char *have = tok.next();
 		if (!have) break;
 		if (have == token_envfrom) {
 			if (!parse_env_from(tok, dc)) {