pkgsrc/audio/adplug/patches/patch-adplugdb_adplugdb_cpp
2011-09-03 23:40:47 +00:00

51 lines
1.6 KiB
Text

$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