do not use isdigit() - can cause link errors
diff --git a/src/mesa/shader/arbprogparse.c b/src/mesa/shader/arbprogparse.c
index 4e92d50..2bf54c6 100644
--- a/src/mesa/shader/arbprogparse.c
+++ b/src/mesa/shader/arbprogparse.c
@@ -702,7 +702,7 @@
       (*inst)++;
    }
    else { /* nonempty string-- parse out the digits */
-      while (isdigit(**inst)) {
+      while (**inst >= '0' && **inst <= '9') {
          GLubyte digit = *((*inst)++);
          value = value * 10.0 + (GLint) (digit - '0');
          oscale *= 10.0;