Fix imake segfault on OpenIndiana
authorMatthew R. Trower <dev@blackshard.net>
Mon, 4 Jun 2018 05:34:52 +0000 (00:34 -0500)
committerJon Trulson <jon@radscan.com>
Tue, 5 Jun 2018 00:44:35 +0000 (18:44 -0600)
Version string changed in distributed GCC6, confusing
get_sun_compiler_versions().

cde/config/imake/imake.c

index 7c429e42c38ce8245130fa7ae85c3fae44f15239..14422e64d65c518e53b44ab469dfe0cf2f86dfac 100644 (file)
@@ -1157,7 +1157,7 @@ get_sun_compiler_versions(FILE *inFile)
     strncat (cmd, " --version 2>&1", 15);
     if ((ccproc = popen (cmd, "r")) != NULL) {
       if (fgets (buf, PATH_MAX, ccproc) != NULL) {
-       vptr = strrchr (buf, 'G');
+       vptr = strrchr (buf, ')');
        for (; !isdigit(*vptr); vptr++);
        ret = sscanf (vptr, "%d.%d", &cmajor, &cminor);
        fprintf (inFile,
@@ -1182,7 +1182,7 @@ get_sun_compiler_versions(FILE *inFile)
     strncat (cmd, " --version 2>&1", 15);
     if ((ccproc = popen (cmd, "r")) != NULL) {
       if (fgets (buf, PATH_MAX, ccproc) != NULL) {
-       vptr = strrchr (buf, 'G');
+       vptr = strrchr (buf, ')');
        for (; !isdigit(*vptr); vptr++);
        ret = sscanf (vptr, "%d.%d", &cmajor, &cminor);
        fprintf (inFile,