hum, restrict the integer usage gcc bug workaround to only gcc compilers

* xpath.c: hum, restrict the integer usage gcc bug workaround
  to only gcc compilers so that other architecture don't get
  penalized by this limitation.
* include/libxml/xpath.h: small typo fix from Heiko W. Rupp
Daniel
diff --git a/xpath.c b/xpath.c
index 0dba1f0..062e6c6 100644
--- a/xpath.c
+++ b/xpath.c
@@ -6546,10 +6546,13 @@
     const xmlChar *cur = str;
     double ret = 0.0;
     double mult = 1;
-    int ok = 0, tmp = 0;
+    int ok = 0;
     int isneg = 0;
     int exponent = 0;
     int is_exponent_negative = 0;
+#ifdef __GNUC__
+    unsigned long tmp = 0;
+#endif
     
     while (IS_BLANK(*cur)) cur++;
     if ((*cur != '.') && ((*cur < '0') || (*cur > '9')) && (*cur != '-')) {
@@ -6559,8 +6562,10 @@
 	isneg = 1;
 	cur++;
     }
+
+#ifdef __GNUC__
     /*
-     * tmp is a workaroudn against a gcc compiler bug
+     * tmp is a workaround against a gcc compiler bug
      */
     while ((*cur >= '0') && (*cur <= '9')) {
 	tmp = tmp * 10 + (*cur - '0');
@@ -6568,6 +6573,13 @@
 	cur++;
     }
     ret = (double) tmp;
+#else
+    while ((*cur >= '0') && (*cur <= '9')) {
+	ret = ret * 10 + (*cur - '0');
+	ok = 1;
+	cur++;
+    }
+#endif
 
     if (*cur == '.') {
         cur++;