--- gcc_wrapper.c.orig 2004-03-07 03:22:40 +0300 +++ gcc_wrapper.c 2004-09-11 20:46:43 +0400 @@ -15,6 +15,7 @@ const char *call_name = __progname; const char *version = getenv ("GCC_VERSION"); const char *use_ccache = getenv ("GCC_USE_CCACHE"); + int major, minor; if (!strcmp (__progname, "gcc_wrapper")) error (EXIT_FAILURE, 0, "try gcc instead"); @@ -37,8 +38,19 @@ if (version && *version) { - if (asprintf (&suffix, "-%s", version) < 0) - error (EXIT_FAILURE, errno, "asprintf"); + if (sscanf (version, "%d.%d", &major, &minor) == 2) + { + if (asprintf (&suffix, "-%s", version) < 0) + error (EXIT_FAILURE, errno, "asprintf"); + } else + if (sscanf (version, "%2d%2d", &major, &minor) == 2) + { + if (asprintf (&suffix, "-%d.%d", major, minor) < 0) + error (EXIT_FAILURE, errno, "asprintf"); + } else { + if (asprintf (&suffix, "-%s", version) < 0) + error (EXIT_FAILURE, errno, "asprintf"); + } } if (asprintf (&target_name, "%s-%s%s", TARGET, call_name, suffix) < 0)