diff -ru libxslt-1.1.15_orig/configure libxslt-1.1.15/configure
--- libxslt-1.1.15_orig/configure	2005-09-05 00:28:05.000000000 +0200
+++ libxslt-1.1.15/configure	2005-11-30 09:40:56.000000000 +0100
@@ -22490,7 +22490,7 @@
                ;;
     esac
 else
-    CFLAGS="${CFLAGS} -Wall"
+    CFLAGS="${CFLAGS} -Wall -std=c99"
     case "${host}" in
           alpha*-*-linux* )
 	       CFLAGS="${CFLAGS} -mieee"
diff -ru libxslt-1.1.15_orig/libxslt/numbers.c libxslt-1.1.15/libxslt/numbers.c
--- libxslt-1.1.15_orig/libxslt/numbers.c	2005-07-04 00:41:43.000000000 +0200
+++ libxslt-1.1.15/libxslt/numbers.c	2005-11-30 09:41:16.000000000 +0100
@@ -1157,7 +1157,7 @@
      * We have processed the +ve prefix, number part and +ve suffix.
      * If the number is -ve, we must substitute the -ve prefix / suffix
      */
-    if (number < 0) {
+    if (signbit(number)) {
         /*
 	 * Note that j is the number of UTF8 chars before the separator,
 	 * not the number of bytes! (bug 151975)
