On Tuesday 09 April 2002 4:24 pm, Herbert Voss wrote:
> Angus Leeming wrote:
> > Alternatively, rotate it by 270.1 degs.
>
> this is not possible yet, only 4 characters. I'll send a
> fix together with some other more or less small changes
>
>
> Herbert

and just to show we really are nice people, this patch should fix your xforms 
library!

Not tested of course...

Angus
--- image_rotate.c	Mon Apr  1 18:51:21 2002
+++ image_rotate.c_new	Tue Apr  9 15:31:03 2002
@@ -226,7 +226,8 @@
     int nrow = row, ncol = col;
     void *mm;
 
-    if (deg == 90 || deg == -90)
+    /* deg lies in the range 0 <= deg < 360 */
+    if (deg == 90 || deg == 270)
     {
 	nrow = col;
 	ncol = row;
@@ -235,29 +236,29 @@
     if (!(mm = fl_get_matrix(nrow, ncol, e)))
 	return 0;
 
-    if (deg == 90)
-    {
+    switch (deg) {
+    case 90:
 	if (e == 2)
 	    DO_90(unsigned short, mm, m);
 	else
 	    DO_90(unsigned char, mm, m);
-    }
-    else if (deg == -90)
-    {
-	if (e == 2)
-	    DO_M90(unsigned short, mm, m);
-	else
-	    DO_M90(unsigned char, mm, m);
-    }
-    else if (deg == 180 || deg == -180)
-    {
+	break;
+
+    case 180:
 	if (e == 2)
 	    DO_180(unsigned short, mm, m);
 	else
 	    DO_180(unsigned char, mm, m);
-    }
-    else
-    {
+	break;
+
+    case 270:
+	if (e == 2)
+	    DO_M90(unsigned short, mm, m);
+	else
+	    DO_M90(unsigned char, mm, m);
+	break;
+
+    default:
 	M_err("RotateMatrix", "InternalError: bad special angle\n");
 	return 0;
     }

Reply via email to