On 20 Jun 2001 [EMAIL PROTECTED] wrote:

> pauldick    01/06/20 14:06:00
>
>   Added:       c/Tests/InputSource inputsource.dsp inputsource.cpp
>   Log:
>   Initial checkin of Input API test.
>
>   Revision  Changes    Path
>   1.1                  xml-xalan/c/Tests/InputSource/inputsource.dsp
>
>   Index: inputsource.dsp
>   ===================================================================
>   # Microsoft Developer Studio Project File - Name="inputsource" - Package 
> Owner=<4>
>   # Microsoft Developer Studio Generated Build File, Format Version 6.00
>   # ** DO NOT EDIT **
>
>   # TARGTYPE "Win32 (x86) Console Application" 0x0103
>
>   CFG=inputsource - Win32 Debug
>   !MESSAGE This is not a valid makefile. To build this project using NMAKE,
>   !MESSAGE use the Export Makefile command and run
>   !MESSAGE
>   !MESSAGE NMAKE /f "inputsource.mak".
>   !MESSAGE
>   !MESSAGE You can specify a configuration when running NMAKE
>   !MESSAGE by defining the macro CFG on the command line. For example:
>   !MESSAGE
>   !MESSAGE NMAKE /f "inputsource.mak" CFG="inputsource - Win32 Debug"
>   !MESSAGE
>   !MESSAGE Possible choices for configuration are:
>   !MESSAGE
>   !MESSAGE "inputsource - Win32 Release" (based on "Win32 (x86) Console 
> Application")
>   !MESSAGE "inputsource - Win32 Debug" (based on "Win32 (x86) Console 
> Application")
>   !MESSAGE "inputsource - Win32 Release with symbols" (based on "Win32 (x86) 
> Console Application")
>   !MESSAGE
>
>   # Begin Project
>   # PROP AllowPerConfigDependencies 0
>   # PROP Scc_ProjName ""
>   # PROP Scc_LocalPath ""
>   CPP=cl.exe
>   RSC=rc.exe
>
>   !IF  "$(CFG)" == "inputsource - Win32 Release"
>
>   # PROP BASE Use_MFC 0
>   # PROP BASE Use_Debug_Libraries 0
>   # PROP BASE Output_Dir "Release"
>   # PROP BASE Intermediate_Dir "Release"
>   # PROP BASE Target_Dir ""
>   # PROP Use_MFC 0
>   # PROP Use_Debug_Libraries 0
>   # PROP Output_Dir "..\..\Build\Win32\VC6\Release"
>   # PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release\inputsource"
>   # PROP Ignore_Export_Lib 0
>   # PROP Target_Dir ""
>   # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D 
> "_MBCS" /YX /FD /c
>   # ADD CPP /nologo /MD /W4 /GR /GX /O2 /Ob2 /I 
> "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" 
> /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
>   # SUBTRACT CPP /YX
>   # ADD BASE RSC /l 0x409 /d "NDEBUG"
>   # ADD RSC /l 0x409 /d "NDEBUG"
>   BSC32=bscmake.exe
>   # ADD BASE BSC32 /nologo
>   # ADD BSC32 /nologo
>   LINK32=link.exe
>   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib 
> comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
> odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib 
> comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
> odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
>   # ADD LINK32 
> ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib 
> ..\..\Build\Win32\VC6\Release\*.lib /nologo /stack:0x1f4000 
> /subsystem:console /pdb:none /machine:I386
>
>   !ELSEIF  "$(CFG)" == "inputsource - Win32 Debug"
>
>   # PROP BASE Use_MFC 0
>   # PROP BASE Use_Debug_Libraries 1
>   # PROP BASE Output_Dir "Debug"
>   # PROP BASE Intermediate_Dir "Debug"
>   # PROP BASE Target_Dir ""
>   # PROP Use_MFC 0
>   # PROP Use_Debug_Libraries 1
>   # PROP Output_Dir "..\..\Build\Win32\VC6\debug"
>   # PROP Intermediate_Dir "..\..\Build\Win32\VC6\debug\inputsource"
>   # PROP Ignore_Export_Lib 0
>   # PROP Target_Dir ""
>   # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D 
> "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
>   # ADD CPP /nologo /W4 /GR /GX /Od /I "..\..\..\..\xml-xerces\c\src" /I 
> "..\..\src\\" /I "..\harness\\" /D "_WINDOWS" /D "_CONSOLE" /D "WIN32" /D 
> "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
>   # ADD BASE RSC /l 0x409 /d "_DEBUG"
>   # ADD RSC /l 0x409 /d "_DEBUG"
>   BSC32=bscmake.exe
>   # ADD BASE BSC32 /nologo
>   # ADD BSC32 /nologo
>   LINK32=link.exe
>   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib 
> comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
> odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib 
> comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
> odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 
> /pdbtype:sept
>   # ADD LINK32 ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Debug\xerces-c_1D.lib 
> ..\..\Build\Win32\VC6\Debug\*.lib /nologo /stack:0x1f4000 /subsystem:console 
> /debug /machine:I386 /pdbtype:sept
>
>   !ELSEIF  "$(CFG)" == "inputsource - Win32 Release with symbols"
>
>   # PROP BASE Use_MFC 0
>   # PROP BASE Use_Debug_Libraries 0
>   # PROP BASE Output_Dir "inputsource___Win32_Release_with_symbols"
>   # PROP BASE Intermediate_Dir "inputsource___Win32_Release_with_symbols"
>   # PROP BASE Ignore_Export_Lib 0
>   # PROP BASE Target_Dir ""
>   # PROP Use_MFC 0
>   # PROP Use_Debug_Libraries 0
>   # PROP Output_Dir "..\..\Build\Win32\VC6\Release.symbols"
>   # PROP Intermediate_Dir "..\..\Build\Win32\VC6\Release.symbols\inputsource"
>   # PROP Ignore_Export_Lib 0
>   # PROP Target_Dir ""
>   # ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\xml-xerces\c\src" /I 
> "..\..\src\\" /I "..\harness\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D 
> "_MBCS" /YX /FD /c
>   # ADD CPP /nologo /MD /W4 /GR /GX /Zi /O2 /Ob2 /I 
> "..\..\..\..\xml-xerces\c\src" /I "..\..\src\\" /I "..\harness\\" /D "WIN32" 
> /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
>   # SUBTRACT CPP /YX
>   # ADD BASE RSC /l 0x409 /d "NDEBUG"
>   # ADD RSC /l 0x409 /d "NDEBUG"
>   BSC32=bscmake.exe
>   # ADD BASE BSC32 /nologo
>   # ADD BSC32 /nologo
>   LINK32=link.exe
>   # ADD BASE LINK32 ..\..\Build\Win32\VC6\Release\Harness.lib 
> ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib 
> ..\..\Build\Win32\VC6\Release\*.lib kernel32.lib user32.lib gdi32.lib 
> winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib 
> uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 
> /out:"..\..\Build\Win32\VC6\Release/inputsource.exe"
>   # ADD LINK32 
> ..\..\..\..\xml-xerces\c\Build\Win32\VC6\Release\xerces-c_1.lib 
> ..\..\Build\Win32\VC6\Release.symbols\*.lib /nologo /stack:0x1f4000 
> /subsystem:console /debug /machine:I386
>
>   !ENDIF
>
>   # Begin Target
>
>   # Name "inputsource - Win32 Release"
>   # Name "inputsource - Win32 Debug"
>   # Name "inputsource - Win32 Release with symbols"
>   # Begin Group "Source Files"
>
>   # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>   # Begin Source File
>
>   SOURCE=.\inputsource.cpp
>
>   !IF  "$(CFG)" == "inputsource - Win32 Release"
>
>   # ADD CPP /MD /Zi
>
>   !ELSEIF  "$(CFG)" == "inputsource - Win32 Debug"
>
>   # PROP Intermediate_Dir "..\..\Build\Win32\VC6\Debug\inputsource"
>   # ADD CPP /MDd /Zi
>
>   !ELSEIF  "$(CFG)" == "inputsource - Win32 Release with symbols"
>
>   # ADD BASE CPP /MD /Zi
>   # ADD CPP /MD /Zi
>
>   !ENDIF
>
>   # End Source File
>   # End Group
>   # Begin Group "Header Files"
>
>   # PROP Default_Filter "h;hpp;hxx;hm;inl"
>   # End Group
>   # Begin Group "Resource Files"
>
>   # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>   # End Group
>   # End Target
>   # End Project
>
>
>
>   1.1                  xml-xalan/c/Tests/InputSource/inputsource.cpp
>
>   Index: inputsource.cpp
>   ===================================================================
>   /*
>    * The Apache Software License, Version 1.1
>    *
>    *
>    * Copyright (c) 1999 The Apache Software Foundation.  All rights
>    * reserved.
>    *
>    * Redistribution and use in source and binary forms, with or without
>    * modification, are permitted provided that the following conditions
>    * are met:
>    *
>    * 1. Redistributions of source code must retain the above copyright
>    *    notice, this list of conditions and the following disclaimer.
>    *
>    * 2. Redistributions in binary form must reproduce the above copyright
>    *    notice, this list of conditions and the following disclaimer in
>    *    the documentation and/or other materials provided with the
>    *    distribution.
>    *
>    * 3. The end-user documentation included with the redistribution,
>    *    if any, must include the following acknowledgment:
>    *       "This product includes software developed by the
>    *        Apache Software Foundation (http://www.apache.org/)."
>    *    Alternately, this acknowledgment may appear in the software itself,
>    *    if and wherever such third-party acknowledgments normally appear.
>    *
>    * 4. The names "Xalan" and "Apache Software Foundation" must
>    *    not be used to endorse or promote products derived from this
>    *    software without prior written permission. For written
>    *    permission, please contact [EMAIL PROTECTED]
>    *
>    * 5. Products derived from this software may not be called "Apache",
>    *    nor may "Apache" appear in their name, without prior written
>    *    permission of the Apache Software Foundation.
>    *
>    * 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 APACHE SOFTWARE FOUNDATION OR
>    * ITS 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.
>    * ====================================================================
>    *
>    * This software consists of voluntary contributions made by many
>    * individuals on behalf of the Apache Software Foundation and was
>    * originally based on software copyright (c) 1999, International
>    * Business Machines, Inc., http://www.ibm.com.  For more
>    * information on the Apache Software Foundation, please see
>    * <http://www.apache.org/>.
>    */
>   // Base header file.  Must be first.
>   #include <Include/PlatformDefinitions.hpp>
>
>   #include <iostream>
>   #include <strstream>
>   #include <stdio.h>
>   #include <direct.h>
>   #include <vector>
>
>   // This is here for memory leak testing.
>   #if !defined(NDEBUG) && defined(_MSC_VER)
>   #include <crtdbg.h>
>   #endif
>
>   #include <util/PlatformUtils.hpp>
>
>   #include <XSLT/XSLTInputSource.hpp>
>   #include <XSLT/XSLTResultTarget.hpp>
>
>   #include <XalanTransformer/XalanTransformer.hpp>
>
>   #include <XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
>   #include <XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
>   #include <XalanSourceTree/XalanSourceTreeDocument.hpp>
>
>   #include <XMLFileReporter.hpp>
>   #include <FileUtility.hpp>
>   #include <HarnessInit.hpp>
>
>
>   #if !defined(XALAN_NO_NAMESPACES)
>       using std::cerr;
>       using std::cout;
>       using std::endl;
>   #endif
>
>
>   void
>   printArgOptions()
>   {
>       cerr << endl
>                << "inputsource dirname [-out]"
>                << endl
>                << endl
>                << "dirname            (base directory for testcases)"
>                << endl
>                << "-out dirname       (base directory for output)"
>                << endl;
>   }
>
>   bool
>   getParams(int argc,
>                 const char*   argv[],
>                 FileUtility& f,
>                 XalanDOMString& basedir,
>                 XalanDOMString& outdir)
>   {
>       bool fSuccess = true;   // Used to continue argument loop
>       bool fSetOut = true;    // Set default output directory
>
>       // Insure that required "-base" argument is there.
>       if (argc == 1 || argv[1][0] == '-')
>       {
>               printArgOptions();
>               return false;
>       }
>       else
>       {
>               if (f.checkDir(pathSep + XalanDOMString(argv[1])))
>               {
>                       assign(basedir, XalanDOMString(argv[1]));
>                       insert(basedir, 0, pathSep);
>               }
>               else
>               {
>                       cout << endl << "Given base directory \"" << argv[1] << 
> "\" does not exist" << endl;
>                       printArgOptions();
>                       return false;
>               }
>       }
>
>       // Get the rest of the arguments in any order.
>       for (int i = 2; i < argc && fSuccess == true; ++i)
>       {
>               if(!stricmp("-out", argv[i]))
>               {
>                       ++i;
>                       if(i < argc && argv[i][0] != '-')
>                       {
>                               assign(outdir, XalanDOMString(argv[i]));
>                               insert(outdir, 0, XalanDOMString("\\"));
>                               append(outdir, XalanDOMString("\\"));
>                               f.checkAndCreateDir(outdir);
>                               fSetOut = false;
>                       }
>                       else
>                       {
>                               printArgOptions();
>                               fSuccess = false;
>                       }
>               }
>               else
>               {
>                       printArgOptions();
>                       fSuccess = false;
>               }
>
>       } // End of for-loop
>
>       // Do we need to set the default output directory??
>       if (fSetOut)
>       {
>               unsigned int ii = lastIndexOf(basedir,charAt(pathSep,0));
>               outdir = substring(basedir, 0, ii+1);
>               append(outdir,XalanDOMString("ISOURCE-results\\"));
>               f.checkAndCreateDir(outdir);
>       }
>
>       // Add the path seperator to the end of the base directory
>       append(basedir, pathSep);
>       return fSuccess;
>   }
>
>   // This routine will output the results.
>   //
>   void reportResult(const char* name, int &results, XMLFileReporter &logFile, 
> XalanTransformer &xalan)
>   {
>       if(results != 0)
>       {
>               logFile.logTestCaseClose("Done","Fail");
>               cerr << "XalanError: \n" << xalan.getLastError();
>       }
>       else
>       {
>               cerr << "Pass " << name << endl;
>       }
>   }
>
>   // TestCase1 will use the following method of XSLTInputSource
>   //          - XSLTInputSource(const XMLCh* systemId)
>   //          - XSLTInputSource(const XMLCh* systemId,
>   //                                            const XMLCh* publicId)
>   void testCase1(XalanTransformer &xalan, FileUtility &f, XMLFileReporter 
> &logFile,
>                          const XalanDOMString &xml, const XalanDOMString 
> &xsl, const XalanDOMString &out)
>   {
>       const XalanDOMString  publicID("public-smublic");
>
>       const XalanDOMString    theOutputFile = f.GenerateFileName(out, "out");
>       const XSLTResultTarget  theResultTarget(theOutputFile);
>
>
>
>       // This code excersized the stated methods of XSLTInputSource
>       const XSLTInputSource   xslInputSource(c_wstr(xsl), c_wstr(publicID));
>       const XSLTInputSource   xmlInputSource(c_wstr(xml));
>
>
>
>       // Do the transform and report the results.
>       int     theResult = xalan.transform(xmlInputSource, xslInputSource, 
> theResultTarget);
>       reportResult("testCase1", theResult, logFile, xalan);
>
>   }
>
>   // TestCase2 will use the following method of XSLTInputSource
>   //          - XSLTInputSource(const char* systemId)
>   //          - XSLTInputSource(const char* systemId,
>   //                                            const char* publicId)
>   void testCase2(XalanTransformer &xalan, FileUtility &f, XMLFileReporter 
> &logFile,
>                          const XalanDOMString &out)
>   {
>       const XalanDOMString    theOutputFile = f.GenerateFileName(out, "one");
>       const XSLTResultTarget  theResultTarget2(theOutputFile);
>
>
>
>       // This code excersized the stated methods of XSLTInputSource
>       const XSLTInputSource   
> xslStringSource("\\xslt\\xsl-test\\conf\\simpletests\\dtod.xsl","publie-smublic");
>       const XSLTInputSource   
> xmlStringSource("\\xslt\\xsl-test\\conf\\simpletests\\dtod.xml");
>
>
>
>       // Do the transform and report the results.
>       int theResult = xalan.transform(xmlStringSource, xslStringSource, 
> theResultTarget2);
>       reportResult("testCase2", theResult, logFile, xalan);
>   }
>
>   void testCase3(XalanTransformer &xalan, FileUtility &f, XMLFileReporter 
> &logFile,
>                          const XalanDOMString &xml, const XalanDOMString 
> &xsl, const XalanDOMString &out)
>   {
>
>       const XalanDOMString    theOutputFile = f.GenerateFileName(out, "tre");
>       const XSLTResultTarget  theResultTarget3(theOutputFile);
>
>       XalanSourceTreeDOMSupport domSupport;
>       XalanSourceTreeParserLiaison parserLiaison(domSupport);
>
>
>
>       // Create the XSL Input Source
>       const XSLTInputSource   
> xslStringSource("\\xslt\\xsl-test\\conf\\simpletests\\dtod.xsl","publie-smublic");
>       XalanDocument* domXSL = parserLiaison.createXalanSourceTreeDocument();
>       domXSL = parserLiaison.parseXMLStream(xslStringSource);
>
>       const XSLTInputSource   xslXalanNode(domXSL);
>       XalanNode* theNode;
>       theNode = xslXalanNode.getNode();
>
>
>
>       // Create the XML Input Source
>       const XSLTInputSource   
> xmlStringSource("\\xslt\\xsl-test\\conf\\simpletests\\dtod.xml");
>       XalanDocument* domXML = parserLiaison.createXalanSourceTreeDocument();
>       domXML = parserLiaison.parseXMLStream(xmlStringSource);
>
>       XSLTInputSource xmlXalanNode;
>       xmlXalanNode.setNode(domXML);
>
>
>
>       // Do the transform and report the results.
>       int theResult = xalan.transform(xmlXalanNode, xslXalanNode, 
> theResultTarget3);
>       reportResult("testCase3", theResult, logFile, xalan);
>
>   }
>
>   void testCase4()
>   {
>
>   }
>
>   int
>   main(
>                 int                   argc,
>                 const char*   argv [])
>   {
>   #if !defined(NDEBUG) && defined(_MSC_VER)
>       _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | 
> _CRTDBG_LEAK_CHECK_DF);
>
>       _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
>       _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
>   #endif
>
>       FileUtility             f;
>
>       XalanDOMString  category;       // Test all of base dir by default
>       XalanDOMString  baseDir;
>       XalanDOMString  outputRoot;
>
>
>       if (getParams(argc, argv, f, baseDir, outputRoot) == true)
>       {
>
>               // Generate Unique Run id. (Only used to name the result 
> logfile.)
>               const XalanDOMString UniqRunid = f.GenerateUniqRunid();
>
>               // Defined basic constants for file manipulation
>
>               const XalanDOMString  resultFilePrefix("isource");
>               const XalanDOMString  resultsFile(outputRoot + resultFilePrefix 
> + UniqRunid + XMLSuffix);
>
>               XMLFileReporter logFile(resultsFile);
>               logFile.logTestFileInit("XSLTInputSource Testing: Give various 
> types of allowable Inputs. ");
>
>               try
>               {
>                       // Call the static initializers...
>                       HarnessInit xmlPlatformUtils;
>                       XalanTransformer::initialize();
>
>                       {
>                               XalanTransformer                transformEngine;
>
>                               // Check that output directory is there.
>                               const XalanDOMString  xDir("simpletests");
>                               const XalanDOMString  theOutputDir = outputRoot 
> + xDir;
>                               f.checkAndCreateDir(theOutputDir);
>
>                               // Get the files found in the "simpletests" 
> directory
>                               const FileNameVectorType        files = 
> f.getTestFileNames(baseDir, xDir, false);
>
>                               for(FileNameVectorType::size_type i = 0; i < 
> files.size(); ++i)
>                               {
>
>                                       // Output file name to result log and 
> console.
>                                       logFile.logTestCaseInit(files[i]);
>                                       cout << files[i] << endl;
>
>                                       // Set up the input/output files.
>                                       const XalanDOMString  theXSLFile= 
> baseDir + xDir + pathSep + files[i];
>                                       const XalanDOMString  theXMLFile = 
> f.GenerateFileName(theXSLFile,"xml");
>                                       const XalanDOMString  theOutput =  
> outputRoot + xDir + pathSep + files[i];
>
>                                       testCase1(transformEngine, f, logFile, 
> theXMLFile, theXSLFile, theOutput);
>
>                                       testCase2(transformEngine, f, logFile, 
> theOutput);
>
>                                       testCase3(transformEngine, f, logFile, 
> theXMLFile, theXSLFile, theOutput);
>
>                               }
>
>                       }
>
>                       XalanTransformer::terminate();
>
>                       logFile.logTestFileClose("ISource Testing: ", "Done");
>                       logFile.close();
>
>               }
>               catch(...)
>               {
>                       cerr << "Exception caught!!!" << endl << endl;
>               }
>       }
>
>       return 0;
>
>   }
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to