You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

188 lines
4.8 KiB

/* /////////////////////////////////////////////////////////////////////////
* File: test/scratch/test.scratch.pseudoUNIX/test.scratch.pseudoUNIX.c
*
* Purpose: Implementation file for the pseudoUNIX.test project.
*
* Created: 23rd September 2006
* Updated: 6th August 2012
*
* Status: Wizard-generated
*
* License: (Licensed under the Synesis Software Open License)
*
* Copyright (c) 2006-2012, Synesis Software Pty Ltd.
* All rights reserved.
*
* www: http://www.synesis.com.au/software
*
* ////////////////////////////////////////////////////////////////////// */
/* Pantheios Header Files */
#include <pantheios/pantheios.h>
#include <pantheios/implicit_link/core.h>
#include <pantheios/implicit_link/fe.simple.h>
#if defined(unix) || \
defined(__unix) || \
defined(__unix__)
# include <pantheios/implicit_link/be.fprintf.h>
#elif defined(_WIN32) || \
defined(WIN32)
# include <pantheios/implicit_link/be.WindowsConsole.h>
#endif /* operating system */
/* STLSoft Header Files */
#include <stlsoft/stlsoft.h>
/* PlatformSTL Header Files */
#include <platformstl/platformstl.h>
/* UNIXEm Header Files */
#include <unixem/unixem.h>
#include <unixem/implicit_link.h>
/* Standard C Header Files */
#include <stdio.h>
#include <stdlib.h>
/* /////////////////////////////////////////////////////////////////////////
* Macros and definitions
*/
#ifdef true
# undef true
#endif /* true */
#ifdef false
# undef false
#endif /* false */
#define true (1)
#define false (0)
/* /////////////////////////////////////////////////////////////////////////
* Globals
*/
#if defined(_DEBUG) || \
defined(_SYB_DEBUG)
static int s_bDebugging = true;
#else /* ? debug */
static int s_bDebugging = false;
#endif /* debug */
PANTHEIOS_EXTERN_C PAN_CHAR_T const PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("pseudoUNIX.test");
/* /////////////////////////////////////////////////////////////////////////
* Typedefs
*/
/* /////////////////////////////////////////////////////////////////////////
* Forward declarations
*/
static void usage(int bExit, char const *reason, int invalidArg, int argc, char **argv);
/* ////////////////////////////////////////////////////////////////////// */
int main(int argc, char *argv[])
{
int bVerbose = 1;
if(pantheios_init() < 0)
{
return EXIT_FAILURE;
}
else
{
pantheios_init();
pantheios_init();
pantheios_uninit();
pantheios_init();
pantheios_uninit();
pantheios_getNextBackEndId();
{ int i; for(i = 1; i < argc; ++i)
{
char const *const arg = argv[i];
if(arg[0] == '-')
{
if(arg[1] == '-')
{
/* -- arguments */
usage(1, "Invalid argument(s) specified", i, argc, argv);
}
else
{
/* - arguments */
switch(arg[1])
{
case '?':
usage(1, NULL, -1, argc, argv);
break;
case 's':
bVerbose = 0;
break;
case 'v':
bVerbose = 1;
break;
default:
usage(1, "Invalid argument(s) specified", i, argc, argv);
break;
}
}
}
else
{
/* other arguments */
usage(1, "Invalid argument(s) specified", i, argc, argv);
}
}}
pantheios_uninit();
pantheios_uninit();
return EXIT_SUCCESS;
}
}
/* ////////////////////////////////////////////////////////////////////// */
static void usage(int bExit, char const *reason, int invalidArg, int argc, char **argv)
{
FILE *stm = (NULL == reason) ? stdout : stderr;
fprintf(stm, "\n");
fprintf(stm, " pseudoUNIX.test\n\n");
fprintf(stm, "\n");
if(NULL != reason)
{
fprintf(stm, " Error: %s\n", reason);
fprintf(stm, "\n");
}
if(0 < invalidArg)
{
fprintf(stm, " First invalid argument #%d: %s\n", invalidArg, argv[invalidArg]);
fprintf(stm, " Arguments were (first bad marked *):\n\n");
{ int i; for(i = 1; i < argc; ++i)
{
fprintf(stm, " %s%s\n", (i == invalidArg) ? "* " : " ", argv[i]);
}}
fprintf(stm, "\n");
}
if(bExit)
{
exit(EXIT_FAILURE);
}
}
/* ///////////////////////////// end of file //////////////////////////// */