summaryrefslogtreecommitdiff
blob: cd001e0ee7bf5bbb9c10043ea7c08e36256b6d6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
diff -urNad xcdroast-0.98+0alpha16~/src/io.c xcdroast-0.98+0alpha16/src/io.c
--- xcdroast-0.98+0alpha16~/src/io.c	2008-08-21 15:11:40.000000000 +0200
+++ xcdroast-0.98+0alpha16/src/io.c	2009-12-29 22:54:08.571188849 +0100
@@ -10062,6 +10062,7 @@
 
 gint check_version_cdda2wav(gchar *match, gchar *found) {
 gchar line[MAXLINE];
+gchar vline[MAXLINE];
 gchar ver[MAXLINE];
 FILE *fpin;
 gchar *p;
@@ -10076,32 +10077,38 @@
         }
 
 	strcpy(line,"");
+	strcpy(vline,"");
         for (;;) {
                 if (fgets(line,MAXLINE,fpin) == NULL) 
                         break;
 		dodebug(10,"got: %s",line);
+
+	        /* only get first line */
+        	if (strcmp(vline,"") == 0) {
+                	strncpy(vline, line, MAXLINE);
+        	}
         }
 
         if (pclose(fpin) == -1) {
                 g_error("pclose error\n");
         }
 
-	if (strcmp(line,"") == 0 || strstr(line,"sh:") != NULL) {
+	if (strcmp(vline,"") == 0 || strstr(vline,"sh:") != NULL) {
 		/* failed to open - permission denied */
 		return 2;
 	}
 
-	/* now line contains the version string of cdda2wav */
+	/* now vline contains the version string of cdda2wav */
 	/* try to extract the version number */
 
-	p = strstr(line,"version");
+	p = strstr(vline,"version");
 	if (p != NULL) {
 		p = strtok(p+8, " _");
 		if (p != NULL) {
 			strcpy(ver,p);
 		}
 	} else {
-		p = strstr(line,"cdda2wav");
+		p = strstr(vline,"cdda2wav");
 		if (p != NULL) {
 			p = strtok(p+9, " ");
 			if (p != NULL) {