text: *DECK J4SAVE
        FUNCTION J4SAVE (IWHICH, IVALUE, ISET)
  C***BEGIN PROLOGUE  J4SAVE
  C***SUBSIDIARY
  C***PURPOSE  Save or recall global variables needed by error
  C            handling routines.
  C***LIBRARY   SLATEC (XERROR)
  C***TYPE      INTEGER (J4SAVE-I)
  C***KEYWORDS  ERROR MESSAGES, ERROR NUMBER, RECALL, SAVE, XERROR
  C***AUTHOR  Jones, R. E., (SNLA)
  C***DESCRIPTION
  C
  C     Abstract
  C        J4SAVE saves and recalls several global variables needed
  C        by the library error handling routines.
  C
  C     Description of Parameters
  C      --Input--
  C        IWHICH - Index of item desired.
  C                = 1 Refers to current error number.
  C                = 2 Refers to current error control flag.
  C                = 3 Refers to current unit number to which error
  C                    messages are to be sent.  (0 means use standard.)
  C                = 4 Refers to the maximum number of times any
  C                     message is to be printed (as set by XERMAX).
  C                = 5 Refers to the total number of units to which
  C                     each error message is to be written.
  C                = 6 Refers to the 2nd unit for error messages
  C                = 7 Refers to the 3rd unit for error messages
  C                = 8 Refers to the 4th unit for error messages
  C                = 9 Refers to the 5th unit for error messages
  C        IVALUE - The value to be set for the IWHICH-th parameter,
  C                 if ISET is .TRUE. .
  C        ISET   - If ISET=.TRUE., the IWHICH-th parameter will BE
  C                 given the value, IVALUE.  If ISET=.FALSE., the
  C                 IWHICH-th parameter will be unchanged, and IVALUE
  C                 is a dummy parameter.
  C      --Output--
  C        The (old) value of the IWHICH-th parameter will be returned
  C        in the function value, J4SAVE.
  C
  C***SEE ALSO  XERMSG
  C***REFERENCES  R. E. Jones and D. K. Kahaner, XERROR, the SLATEC
  C                 Error-handling Package, SAND82-0800, Sandia
  C                 Laboratories, 1982.
  C***ROUTINES CALLED  (NONE)
  C***REVISION HISTORY  (YYMMDD)
  C   790801  DATE WRITTEN
  C   891214  Prologue converted to Version 4.0 format.  (BAB)
  C   900205  Minor modifications to prologue.  (WRB)
  C   900402  Added TYPE section.  (WRB)
  C   910411  Added KEYWORDS section.  (WRB)
  C   920501  Reformatted the REFERENCES section.  (WRB)
  C***END PROLOGUE  J4SAVE
        LOGICAL ISET
        INTEGER IPARAM(9)
        SAVE IPARAM
        DATA IPARAM(1),IPARAM(2),IPARAM(3),IPARAM(4)/0,2,6,10/
        DATA IPARAM(5)/1/
        DATA IPARAM(6),IPARAM(7),IPARAM(8),IPARAM(9)/0,0,0,0/
  C***FIRST EXECUTABLE STATEMENT  J4SAVE
        J4SAVE = IPARAM(IWHICH)
        IF (ISET) IPARAM(IWHICH) = IVALUE
        RETURN
        END
  