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) {