File procinfo-gccver.diff of Package procinfo

--- procinfo-18/routines.c
+++ procinfo-18/routines.c
@@ -275,6 +275,8 @@
     if (ret != 5)	/* Damn egcs uses nested ()'s... */
 	ret = sscanf (line, "Linux version %s (%[^)]) (gcc %[^(] (%*[^)])) #%s %[^\n]",
 		      ver, host, gcc, compno, date);
+    if (ret != 5)	/* Maybe even one layer more */
+	ret = sscanf (line, "Linux version %s (%[^)]) (gcc %[^(] (%*[^)]) (%*[^)])) #%s %[^\n]", ver, host, gcc, compno, date);
 
     if (ret == 3) {	/* At least we've got ver & host right... */
 	strcpy (gcc, "[can't parse]");
@@ -282,6 +284,10 @@
 	date[0] = 0;
     }
 
+    len = strlen(gcc) - 1;
+    while(gcc[len] == ' ')
+    	gcc[len--] = '\0';
+
     /* BTW, from here we're free to re-use line[]. */
 
     here = strdup (myname);
openSUSE Build Service is sponsored by