NAME
    errno - return or set a stored error-number

SYNOPSIS
    errno([errnum])

TYPES
    errnum	integer, 0 <= errnum <= 32767

    return	integer

DESCRIPTION

    Whenever an operation or evaluation of function returns an error-value,
    the numerical code for that value is stored as calc_errno.

    errno() returns the current value of calc_errno.

    errno(errnum) sets calc_errno to the value errnum and returns its
    previous value.

    To detect whether an error occurs during some sequence of operations,
    one may immediately before that sequence set the stored error-number
    to zero by errno(0), and then after the operations, whether or not
    an error has occurred will be indicated by errno() being nonzero or
    zero.  If a non-zero value is returned, that value will be the code
    for the most recent error encountered.

    The default argument for the functions error() and strerror() is the
    currently stored error-number; in particular, if no error-value has
    been returned after the last errno(0), strerror() will return
    "No error".

EXAMPLE
    Assuming there is no file with name "not_a_file"
    ; errno(0)
	    0
    ; errmax(errcount()+4)
	    20
    ; badfile = fopen("not_a_file", "r")
    ; print errno(), error(), strerror()
    2 System error 2 No such file or directory

    ; a = 1/0
    ; print errno(), error(), strerror()
    10001 Error 10001 Division by zero

LIMITS
    none

LINK LIBRARY
    none

SEE ALSO
    errmax, errcount, error, strerror, iserror, newerror, errorcodes,
    stoponerror

## Copyright (C) 1999-2006  Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## @(#) $Revision: 30.1 $
## @(#) $Id: errno,v 30.1 2007/03/16 11:10:42 chongo Exp $
## @(#) $Source: /usr/local/src/bin/calc/help/RCS/errno,v $
##
## Under source code control:	1994/10/27 03:05:08
## File existed as early as:	1994
##
## chongo <was here> /\oo/\	http://www.isthe.com/chongo/
## Share and enjoy!  :-)	http://www.isthe.com/chongo/tech/comp/calc/
