--- x/lighttpd-1.4.23/src/buffer.c	2009-03-31 00:16:59.000000000 +0200
+++ lighttpd-1.4.23/src/buffer.c	2009-10-16 11:15:27.000000000 +0200
@@ -285,7 +285,7 @@
 }
 
 int LI_ltostr(char *buf, long val) {
-	char swap;
+	long tmp;
 	char *end;
 	int len = 1;
 
@@ -297,20 +297,15 @@
 
 	end = buf;
 	while (val > 9) {
-		*(end++) = '0' + (val % 10);
-		val = val / 10;
+		*end++ = '0' + val - (tmp = val / 10) * 10;
+		val = tmp;
 	}
 	*(end) = '0' + val;
 	*(end + 1) = '\0';
 	len += end - buf;
 
-	while (buf < end) {
-		swap = *end;
-		*end = *buf;
-		*buf = swap;
-
-		buf++;
-		end--;
+	for(; buf < end; ++buf, --end) {
+		*end^=*buf^=*end^=*buf;
 	}
 
 	return len;
