Mercurial > sm-archive
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)) {