]> git.pond.sub.org Git - empserver/commitdiff
(fina, repa, disloan): Fix the previous rev.
authorMarkus Armbruster <armbru@pond.sub.org>
Fri, 20 Aug 2004 07:11:18 +0000 (07:11 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Fri, 20 Aug 2004 07:11:18 +0000 (07:11 +0000)
src/lib/commands/fina.c
src/lib/commands/repa.c
src/lib/subs/disloan.c

index b80cce07a4331b462552ff8914a980b884c1a84a..c2280a2203a93f95d1674e46bd3127686bcc35f3 100644 (file)
@@ -81,6 +81,10 @@ fina(void)
            xdur += rdur;
            rdur = 0;
        }
+       if (xdur < 0) {
+           rdur += xdur;
+           xdur = 0;
+       }
 
        if (CANT_HAPPEN(loan.l_ldur == 0))
            continue;
index c22a96b1c26395b756023f9f0593aab2c550e765..b2f2e0ae69b8321c676b04acbfbbfdfd1919bc1b 100644 (file)
@@ -84,6 +84,10 @@ repa(void)
        doubletime += normaltime;
        normaltime = 0;
     }
+    if (doubletime < 0) {
+       normaltime += doubletime;
+       doubletime = 0;
+    }
 
     rate_per_sec = loan.l_irate /
        ((double)loan.l_ldur * SECS_PER_DAY * 100.0);
index 625de08c5bcc04c5887baa15807ff9826b9b584b..bf7db5f3c86dc4482fb73be94f06f1e64c6ce3c1 100644 (file)
@@ -94,6 +94,10 @@ disloan(int n, register struct lonstr *loan)
        doubletime += normaltime;
        normaltime = 0;
     }
+    if (doubletime < 0) {
+       normaltime += doubletime;
+       doubletime = 0;
+    }
 
     rate = ((double)loan->l_irate / 100.0) / (loan->l_ldur * SECS_PER_DAY);
     owe = ((double)loan->l_amtdue *