summary refs log tree commit diff
path: root/gnu/packages/patches/symmetrica-bruch.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/symmetrica-bruch.patch')
-rw-r--r--gnu/packages/patches/symmetrica-bruch.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/patches/symmetrica-bruch.patch b/gnu/packages/patches/symmetrica-bruch.patch
new file mode 100644
index 0000000000..ae88b79206
--- /dev/null
+++ b/gnu/packages/patches/symmetrica-bruch.patch
@@ -0,0 +1,38 @@
+--- src/bruch.c	2007-12-06 11:30:00.000000000 -0500
++++ b/bruch.c	2013-10-22 08:37:43.000000000 -0400
+@@ -975,14 +975,16 @@
+     ggterg = ggt_i(S_B_UI(bruch),S_B_OI(bruch));
+ 
+     if (ggterg == S_B_UI(bruch)) {
++        INT tmp = S_B_OI(bruch);
+         freeself_bruch(bruch);
+-        M_I_I(S_B_OI(bruch) / ggterg,bruch);
++        M_I_I(tmp / ggterg,bruch);
+         goto ende;
+         }
+ 
+     if (-ggterg == S_B_UI(bruch)) {
++        INT tmp = S_B_OI(bruch);
+         freeself_bruch(bruch);
+-        M_I_I(- S_B_OI(bruch) / ggterg,bruch);
++        M_I_I(- tmp / ggterg,bruch);
+         goto ende;
+         }
+ 
+@@ -1032,12 +1034,14 @@
+ 
+     if (S_O_K(S_B_U(bruch)) == INTEGER)
+         if (S_B_UI(bruch) == 1) { 
++            INT tmp = S_B_OI(bruch);
+             freeself_bruch(bruch);
+-            M_I_I(S_B_OI(bruch),bruch); 
++            M_I_I(tmp,bruch); 
+             goto ende; }
+         else if (S_B_UI(bruch) == -1) { 
++            INT tmp = S_B_OI(bruch);
+             freeself_bruch(bruch);
+-            M_I_I( - S_B_OI(bruch),bruch); 
++            M_I_I( - tmp,bruch); 
+             goto ende; }
+     if (NEGP(S_B_O(bruch)) && NEGP(S_B_U(bruch)))
+         {