View | Details | Raw Unified
Collapse All | Expand All

(-) 20040817-gcc4.patch.original (-7 lines)
 Lines 26-65    Link Here 
-  case 1: *((unsigned char*)buffer)++ = fill_value; return;
-  case 1: *((unsigned char*)buffer)++ = fill_value; return;
-  case 2: *((unsigned short*)buffer)++ = fill_value; return;
-  case 2: *((unsigned short*)buffer)++ = fill_value; return;
-  case 3: { unsigned char *p=buffer; p[2]=p[1]=p[0] = fill_value;} return;
-  case 3: { unsigned char *p=buffer; p[2]=p[1]=p[0] = fill_value;} return;
+  case 1: ++p; *p = fill_value; return;
+  case 2: ++s; *s = fill_value; return;
+  case 3: { p[2]=p[1]=p[0] = fill_value;} return;
+  case 3: { p[2]=p[1]=p[0] = fill_value;} return;
   default:
   default:
 	if ((int)buffer&1) {
 	if ((int)buffer&1) {
-		*((unsigned char*)buffer)++ = fill_value; size--;
-		*((unsigned char*)buffer)++ = fill_value; size--;
+		++p; *p = fill_value; size--;
+		buffer = p;
+		buffer = p;
 	}
 	}
 	if ((int)buffer&2) {
 	if ((int)buffer&2) {
-		*((unsigned short*)buffer)++ = fill_value; size-=2;
-		*((unsigned short*)buffer)++ = fill_value; size-=2;
+		++s; *s = fill_value; size-=2;
+		buffer = s;
+		buffer = s;
 	}
 	}
 	lsize = size>>2;
 	lsize = size>>2;
+	unsigned int *up = buffer;
+	unsigned int *up = buffer;
 	while(lsize) {
 	while(lsize) {
-		*((unsigned int*)buffer)++ = fill_value;
-		*((unsigned int*)buffer)++ = fill_value;
+		++up;
+		*up = fill_value;
+		*up = fill_value;
 		lsize--;
 		lsize--;
 	}
 	}
+	buffer = up;
+	buffer = up;
 	if (size&2) {
 	if (size&2) {
-		*((unsigned short*)buffer)++ = fill_value;
-		*((unsigned short*)buffer)++ = fill_value;
+		s = buffer;
+		s = buffer;
+		++s;
+		*s = fill_value;
+		*s = fill_value;
 	}
 	}
 	if (size&1) {
 	if (size&1) {
-		*((unsigned char*)buffer)++ = fill_value;
-		*((unsigned char*)buffer)++ = fill_value;
+		p = buffer;
+		p = buffer;
+		++p;
+		*p = fill_value;
+		*p = fill_value;
 	}
 	}
   }
   }
 }
 }