summary refs log tree commit diff
path: root/gnu/packages/patches/symmetrica-bruch.patch
blob: ae88b7920682205a8dfd9595636c5f6f7ee25f37 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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)))
         {