diff src/gaimrc.c @ 1214:0baf39dc5437

[gaim-migrate @ 1224] can choose to run command to play sounds committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 08 Dec 2000 07:46:22 +0000
parents 7aec3f881c98
children 229bf438c591
line wrap: on
line diff
--- a/src/gaimrc.c	Fri Dec 08 06:21:44 2000 +0000
+++ b/src/gaimrc.c	Fri Dec 08 07:46:22 2000 +0000
@@ -49,6 +49,7 @@
 char web_command[2048];
 char latest_ver[25];
 char *sound_file[NUM_SOUNDS];
+char sound_cmd[2048];
 
 struct parse {
         char option[256];
@@ -703,6 +704,7 @@
 
 	for (i = 0; i < NUM_SOUNDS; i++)
 		sound_file[i] = NULL;
+	sound_cmd[0] = 0;
         
 	while (buf[0] != '}') {
 		if (buf[0] == '#')
@@ -713,16 +715,15 @@
 
                 p = parse_line(buf);
                 
-		sscanf(p->option, "sound%c", (char *)&i);
-		i -= 'A';
-		
-		if (p->value[0][0])
-			sound_file[i] = g_strdup(p->value[0]);
-/*		else
-			sound_file[i] = NULL;
-		Removed by Rob.  Kill me if this is retarded.
-		Tis was causing segfaults on PPC machines, though.
-*/
+		if (!strcmp(p->option, "sound_cmd")) {
+			g_snprintf(sound_cmd, sizeof(sound_cmd), "%s", p->value[0]);
+		} else if (!strncmp(p->option, "sound", strlen("sound"))) {
+			sscanf(p->option, "sound%c", (char *)&i);
+			i -= 'A';
+			
+			if (p->value[0][0])
+				sound_file[i] = g_strdup(p->value[0]);
+		}
 	}
 }
 
@@ -735,6 +736,7 @@
 			fprintf(f, "\tsound%c { %s }\n", i + 'A', sound_file[i]);
 		else
 			fprintf(f, "\tsound%c {  }\n", i + 'A');
+	fprintf(f, "\tsound_cmd { %s }\n", sound_cmd);
 	fprintf(f, "}\n");
 }