$NetBSD: patch-adplugdb_adplugdb_cpp,v 1.1 2011/09/03 23:40:47 dholland Exp $ const correctness, required by clang --- adplugdb/adplugdb.cpp.orig 2006-05-17 12:47:21.000000000 +0000 +++ adplugdb/adplugdb.cpp @@ -99,13 +99,15 @@ static const struct { }; static struct { - char *db_file; + const char *db_file; + char *freeable_db_file; CAdPlugDatabase::CRecord::RecordType rtype; int message_level; bool usedefaultdb, usercomment, cmdkeys; const char *homedir; } cfg = { ADPLUGDB_PATH, + NULL, CAdPlugDatabase::CRecord::Plain, MSG_NOTE, false, false, false, @@ -297,7 +299,7 @@ static void db_save(void) static void shutdown(void) { // Free userdb variable, if applicable - if(cfg.homedir && !cfg.usedefaultdb) free(cfg.db_file); + if(cfg.homedir && !cfg.usedefaultdb) free(cfg.freeable_db_file); } /***** Main program *****/ @@ -355,11 +357,14 @@ int main(int argc, char *argv[]) // Try user's home directory first, before trying the default location. cfg.homedir = getenv("HOME"); if(cfg.homedir && !cfg.usedefaultdb) { - cfg.db_file = (char *)malloc(strlen(cfg.homedir) + strlen(ADPLUG_CONFDIR) + + char *s; + s = (char *)malloc(strlen(cfg.homedir) + strlen(ADPLUG_CONFDIR) + strlen(ADPLUGDB_FILE) + 3); - strcpy(cfg.db_file, cfg.homedir); - strcat(cfg.db_file, "/" ADPLUG_CONFDIR "/"); - strcat(cfg.db_file, ADPLUGDB_FILE); + strcpy(s, cfg.homedir); + strcat(s, "/" ADPLUG_CONFDIR "/"); + strcat(s, ADPLUGDB_FILE); + cfg.freeable_db_file = s; + cfg.db_file = s; } // Load database file