changeset 3963:05485f532599

[project @ 2002-06-27 15:31:39 by jwe]
author jwe
date Thu, 27 Jun 2002 15:31:39 +0000
parents e39b0ee1da6c
children 3030cb6cb559
files libcruft/ChangeLog libcruft/misc/f77-fcn.c libcruft/slatec-err/j4save.f libcruft/slatec-err/xermsg.f
diffstat 4 files changed, 19 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/libcruft/ChangeLog
+++ b/libcruft/ChangeLog
@@ -1,3 +1,11 @@
+2002-06-27  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* slatec-err/xermsg.f (XERMSG): If MAXMES .LT. 0, messages may be
+	printed an unlimited number of times.
+	* slatec-err/j4save.f (J4SAVE) Default for MAXMES is now -1.
+
+	* misc/f77-fcn.c (xstopx): Pass args in proper order.
+
 2002-05-22  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* ordered-qz/dsubsp.f (DSUBSP): Delete decl for unused variable J.
--- a/libcruft/misc/f77-fcn.c
+++ b/libcruft/misc/f77-fcn.c
@@ -48,7 +48,7 @@
 {
   /* Skip printing message if it is just a single blank character.  */
   if (s && slen > 0 && ! (slen == 1 && *s == ' '))
-    (*current_liboctave_error_handler) ("%.*s", s, slen);
+    (*current_liboctave_error_handler) ("%.*s", slen, s);
 
   longjmp (f77_context, 1);
 }
--- a/libcruft/slatec-err/j4save.f
+++ b/libcruft/slatec-err/j4save.f
@@ -55,7 +55,7 @@
       LOGICAL ISET
       INTEGER IPARAM(9)
       SAVE IPARAM
-      DATA IPARAM(1),IPARAM(2),IPARAM(3),IPARAM(4)/0,2,0,10/
+      DATA IPARAM(1),IPARAM(2),IPARAM(3),IPARAM(4)/0,2,0,-1/
       DATA IPARAM(5)/1/
       DATA IPARAM(6),IPARAM(7),IPARAM(8),IPARAM(9)/0,0,0,0/
 C***FIRST EXECUTABLE STATEMENT  J4SAVE
--- a/libcruft/slatec-err/xermsg.f
+++ b/libcruft/slatec-err/xermsg.f
@@ -194,7 +194,8 @@
 C
 C       LKNTRL IS A LOCAL COPY OF THE CONTROL FLAG KONTRL.
 C       MAXMES IS THE MAXIMUM NUMBER OF TIMES ANY PARTICULAR MESSAGE
-C          SHOULD BE PRINTED.
+C          SHOULD BE PRINTED.  IF MAXMES IS LESS THAN ZERO, THERE IS
+C          NO LIMIT.
 C
 C       WE PRINT A FATAL ERROR MESSAGE AND TERMINATE FOR AN ERROR IN
 C          CALLING XERMSG.  THE ERROR NUMBER SHOULD BE POSITIVE,
@@ -235,9 +236,11 @@
 C       ZERO AND THE ERROR IS NOT FATAL.
 C
       IF (LEVEL.LT.2 .AND. LKNTRL.EQ.0) GO TO 30
-      IF (LEVEL.EQ.0 .AND. KOUNT.GT.MAXMES) GO TO 30
-      IF (LEVEL.EQ.1 .AND. KOUNT.GT.MAXMES .AND. MKNTRL.EQ.1) GO TO 30
-      IF (LEVEL.EQ.2 .AND. KOUNT.GT.MAX(1,MAXMES)) GO TO 30
+      IF (LEVEL.EQ.0 .AND. MAXMES.GE.0 .AND. KOUNT.GT.MAXMES) GO TO 30
+      IF (LEVEL.EQ.1 .AND. MAXMES.GE.0 .AND. KOUNT.GT.MAXMES
+     *    .AND. MKNTRL.EQ.1) GO TO 30
+      IF (LEVEL.EQ.2 .AND. MAXMES.GE.0 .AND. KOUNT.GT.MAX(1,MAXMES))
+     *    GO TO 30
 C
 C       ANNOUNCE THE NAMES OF THE LIBRARY AND SUBROUTINE BY BUILDING A
 C       MESSAGE IN CHARACTER VARIABLE TEMP (NOT EXCEEDING 66 CHARACTERS)
@@ -348,7 +351,8 @@
 C       FATAL ERROR.  PRINT THE REASON FOR THE ABORT AND THE ERROR
 C       SUMMARY IF THE CONTROL FLAG AND THE MAXIMUM ERROR COUNT PERMIT.
 C
-      IF (LKNTRL.GT.0 .AND. KOUNT.LT.MAX(1,MAXMES)) THEN
+      IF (LKNTRL.GT.0
+     *    .AND. (MAXMES.LT.0 .OR. KOUNT.LT.MAX(1,MAXMES))) THEN
          IF (LEVEL .EQ. 1) THEN
             CALL XERPRN
      *         (' ***', -1, 'JOB ABORT DUE TO UNRECOVERED ERROR.', 72)