head 1.18; access; symbols EX_1_0_6:1.18 LMTP2NNTP_1_4_1:1.16 LMTP2NNTP_1_4_0:1.16 EX_1_0_5:1.16 LMTP2NNTP_1_3_0:1.14 LMTP2NNTP_1_3b2:1.14 LMTP2NNTP_1_3b1:1.14 LMTP2NNTP_1_3a3:1.14 LMTP2NNTP_1_3a2:1.14 LMTP2NNTP_1_3a1:1.14 EX_1_0_4:1.14 EX_1_0_3:1.13 OSSP_RC_0_7_3:1.11 OSSP_RC_0_7_2:1.11 OSSP_RC_0_7_1:1.11 OSSP_RC_ALPHA_06:1.11 OSSP_RC_EXBROKEN:1.11 LMTP2NNTP_1_2_0:1.11 LMTP2NNTP_1_2b4:1.11 LMTP2NNTP_1_2b3:1.11 LMTP2NNTP_1_2b2:1.11 LMTP2NNTP_1_2b1:1.11 LMTP2NNTP_1_2a8:1.11 LMTP2NNTP_1_2a7:1.11 EX_1_0_2:1.11 EX_1_0_1:1.8 LMTP2NNTP_1_2a6:1.6 LMTP2NNTP_1_2a5:1.6 EX_1_0_0:1.6 LMTP2NNTP_1_2a4:1.4 EX_0_9_1:1.4 LMTP2NNTP_1_2a3:1.3 EX_0_9_0:1.3; locks; strict; comment @# @; 1.18 date 2007.10.12.19.59.57; author rse; state Exp; branches; next 1.17; commitid 9SN7ivPOxnsC7lBs; 1.17 date 2006.08.10.19.49.33; author rse; state Exp; branches; next 1.16; commitid o4A6XFppdzD0PkIr; 1.16 date 2005.10.02.16.31.49; author rse; state Exp; branches; next 1.15; 1.15 date 2005.01.30.13.39.07; author rse; state Exp; branches; next 1.14; 1.14 date 2004.04.05.14.44.21; author rse; state Exp; branches; next 1.13; 1.13 date 2004.04.03.11.52.47; author rse; state Exp; branches; next 1.12; 1.12 date 2004.03.25.19.01.42; author rse; state Exp; branches; next 1.11; 1.11 date 2003.01.30.11.04.42; author rse; state Exp; branches; next 1.10; 1.10 date 2003.01.30.11.03.06; author rse; state Exp; branches; next 1.9; 1.9 date 2003.01.30.10.23.12; author rse; state Exp; branches; next 1.8; 1.8 date 2003.01.06.15.32.27; author rse; state Exp; branches; next 1.7; 1.7 date 2003.01.06.15.31.24; author rse; state Exp; branches; next 1.6; 1.6 date 2002.03.30.19.04.59; author rse; state Exp; branches; next 1.5; 1.5 date 2002.03.30.18.56.02; author rse; state Exp; branches; next 1.4; 1.4 date 2002.03.08.22.56.48; author rse; state Exp; branches; next 1.3; 1.3 date 2002.01.31.20.31.47; author rse; state Exp; branches; next 1.2; 1.2 date 2002.01.26.20.12.19; author rse; state Exp; branches; next 1.1; 1.1 date 2002.01.25.15.25.51; author rse; state Exp; branches; next ; desc @@ 1.18 log @prepare for release @ text @ _ ___ ____ ____ ____ |_|_ _ / _ \/ ___/ ___|| _ \ _____ __ _|_||_| | | | \___ \___ \| |_) | / _ \ \/ / |_||_|_| | |_| |___) |__) | __/ | __/> < |_|_|_| \___/|____/____/|_| \___/_/\_\ OSSP ex - Exception Handling Version 1.0.6 (12-Oct-2007) ABSTRACT OSSP ex is a small ISO-C++ style exception handling library for use in the ISO-C language. It allows you to use the paradigm of throwing and catching exceptions in order to reduce the amount of error handling code without making your program less robust. This is achieved by directly transferring exceptional return codes (and the program control flow) from the location where the exception is raised (throw point) to the location where it is handled (catch point) -- usually from a deeply nested sub-routine to a parent routine. All intermediate routines no longer have to make sure that the exceptional return codes from sub-routines are correctly passed back to the parent. The OSSP ex facility also provides advanced exception handling features like shielded and deferred exceptions. Additionally, OSSP ex allows you to choose the used underlying machine context switching facility and optionally support multi-threading environments by allowing you to store the exception catching stack in a thread-safe way. COPYRIGHT AND LICENSE Copyright (c) 2002-2007 Ralf S. Engelschall Copyright (c) 2002-2007 The OSSP Project This file is part of OSSP ex, an exception handling library which can be found at http://www.ossp.org/pkg/lib/ex/. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. HOME AND DOCUMENTATION The documentation and latest release can be found on o http://www.ossp.org/pkg/lib/ex/ o ftp://ftp.ossp.org/pkg/lib/ex/ @ 1.17 log @cleanup source tree @ text @d8 1 a8 1 Version 1.0.6 (10-Aug-2006) d34 2 a35 2 Copyright (c) 2002-2006 Ralf S. Engelschall Copyright (c) 2002-2006 The OSSP Project @ 1.16 log @flush pending changes and adjust for release @ text @d8 1 a8 1 Version 1.0.5 (02-Oct-2005) d34 2 a35 3 Copyright (c) 2002-2005 Ralf S. Engelschall Copyright (c) 2002-2005 The OSSP Project Copyright (c) 2002-2005 Cable & Wireless @ 1.15 log @Adjusted copyright messages to include new year 2005. @ text @d8 1 a8 1 Version 1.0.4 (05-Apr-2004) @ 1.14 log @flush all my pending changes for release of 1.0.4 @ text @d34 3 a36 3 Copyright (c) 2002-2004 Ralf S. Engelschall Copyright (c) 2002-2004 The OSSP Project Copyright (c) 2002-2004 Cable & Wireless @ 1.13 log @prepare for release @ text @d8 1 a8 1 Version 1.0.3 (03-Apr-2004) @ 1.12 log @bump and adjust copyright @ text @d8 1 a8 1 Version 1.0.2 (30-Jan-2003) @ 1.11 log @final polishing @ text @d34 3 a36 3 Copyright (c) 2002-2003 Ralf S. Engelschall Copyright (c) 2002-2003 The OSSP Project Copyright (c) 2002-2003 Cable & Wireless Germany @ 1.10 log @bump for release @ text @d28 3 a30 3 facility (jmp_buf(3), sigjmp_buf(3), ucontext(3), etc) and optionally support multi-threading environments by allowing you to store the exception catching stack in a thread-safe way. d36 1 a36 1 Copyright (c) 2002-2003 Cable & Wireless Deutschland @ 1.9 log @Polished and enhanced the manual page ex(3) @ text @d8 1 a8 1 Version 1.0.1 (06-Jan-2003) @ 1.8 log @bump version for release @ text @d25 7 @ 1.7 log @- consistently use "Exception Handling" - strip trailing whitespaces - adjust copyright for new year 2003 - consistently use OSSP ASCII-art @ text @d8 1 a8 1 Version 1.0.0 (30-Mar-2002) @ 1.6 log @polishing @ text @d1 7 a7 6 _____ __ / _ \ \/ / | __/> < \___/_/\_\ OSSP ex - Exception Handling Library d27 3 a29 3 Copyright (c) 2002 Ralf S. Engelschall Copyright (c) 2002 The OSSP Project Copyright (c) 2002 Cable & Wireless Deutschland @ 1.5 log @bump version and fix URLs @ text @d1 4 a4 4 _____ __ / _ \ \/ / | __/> < \___/_/\_\ @ 1.4 log @update for release @ text @d7 1 a7 1 Version 0.9.1 (08-Mar-2002) d31 1 a31 1 can be found at http://www.ossp.org/pkg/ex/. d55 2 a56 2 o http://www.ossp.org/pkg/ex/ o ftp://ftp.ossp.org/pkg/ex/ @ 1.3 log @bump release number @ text @d7 1 a7 1 Version 0.9.0 (31-Jan-2002) @ 1.2 log @switch to our standard build environment @ text @d7 1 a7 1 Version 0.1.0 (26-Jan-2002) d11 12 a22 11 The OSSP ex library is a small ISO-C++ style exception handling library for use in the ISO-C language. It allows you to use the paradigm of throwing and catching exceptions in order to reduce the amount of error handling code in without making your program less robust. This is achieved by directly transferring exceptional return codes (and the program control flow) from the location where it was raised (throw point) to the location where it is handled (catch point) - usually from a deeply nested sub-routine to a parent routine. All intermediate routines no longer have to make sure that the exceptional return codes from sub-routines are correctly passed back to the parent. @ 1.1 log @Welcome OSSP ex, another new-born OSSP library. This is the first cut for a C exception handling library. Read ex.pod for details... @ text @d1 55 @