Files
calc/help/strerror
Landon Curt Noll 40c8f875c1 rename E__COUNT to ECOUNT
Rename the #define E__COUNT to ECOUNT to avoid confusion
with "E_STRING" error symbols.

Improve formatting of help/error, help/errno, and help/strerror.

Update .gitignore.
2023-09-13 20:20:46 -07:00

121 lines
3.4 KiB
Plaintext

NAME
strerror - returns a string describing an error value
SYNOPSIS
strerror([errnum | "E_STRING"])
TYPES
errnum integer
E_STRING string
return string
DESCRIPTION
If 0 <= errnum <= 32767 then strerror(errnum) will return one of:
* system error and libc errno value related string
* calc computation error code string
* user-defined description string created by newerror(str)
* "Unknown error errnum" (where errnum is in decimal)
With strerror("E_STRING") string argument:
XXX - fill in - XXX
Without a argument, strerror() returns as if it were called with:
strerror(errno())
That is, the string associated with the "global calc_errno value"
is returned.
The term "global calc_errno value" is an internal calc state.
This is NOT a calc variable called calc_errno.
The system error and libc errno value related string may be
different for different systems.
For users of libcalc:
The libcalc array error_table[] contains the hard coded
calc-generated error array of ECOUNT+2 pointers to strings
starting with E__BASE, ending with E__HIGHEST and terminated
by a NULL pointer.
The error_table[0] is for errnum of E__BASE, and is the
string "No error".
The error_table[ECOUNT] is string associated with the
highest calc-generated error message.
The error_table[ECOUNT+1] is a NULL pointer.
See help error for more information on the ranges of errnum and
the meaning of the above mentioned constants.
EXAMPLE
; errcount(0),; errmax(20),;
; print errcount(), errmax()
0 20
; print strerror(2)
No such file or directory
; print errcount(), errmax()
0 20
; x = 3 / 0;
; print errcount(), errmax()
1 20
; print strerror()
Division by zero
; a = newerror("alpha")
; print errcount(), errmax()
2 20
; print strerror()
alpha
; print strerror(999)
Unknown error: 999
; print errcount(), errmax()
2 20
LIMITS
0 <= errnum <= 32767
E_STRING is string matching the regular expression: "^E_[A-Z0-9_]+$"
LINK LIBRARY
int calc_errno; /* global calc_errno value */
CONST struct errtbl error_table[ECOUNT+2]; /* calc error codes, error symbols and error messages */
SEE ALSO
strcat, strcpy, strlen, strncmp, strncpy, strpos,
strprintf, strscan, strscanf, substr,
errcount, errmax, error, iserror, errno, newerror, errorcodes,
stoponerror
## Copyright (C) 1999-2006,2023 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.
##
## Under source code control: 1996/04/30 03:05:18
## File existed as early as: 1996
##
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/