home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / GCC / GERLIB_USR08B.LHA / gerlib / examples / test / startup / startup_test_small.cc < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-12  |  1.8 KB  |  96 lines

  1. /* Test without cin/cout from WB */
  2.  
  3. /* if we want the standard amigados ReadArgs to behave like the programs
  4.    in the C-directory, we can define
  5.  
  6.    TEMPLATE                  for the template of our arguements
  7.    TEMPLATE_HELP [optional]  for the help for the tenplate string
  8.    TEMPLATE_COUNT            for the number of expected arguements
  9. */
  10.  
  11. #define TEMPLATE "TEST/S"
  12. #define TEMPLATE_HELP "Just a test prg"
  13. #define TEMPLATE_COUNT 1
  14.  
  15. /* if we include <use_amiga_argc_argv.h>, magicially the Libraries
  16.  
  17.    icon.library
  18.    commodities.library
  19.    mathffp.library
  20.    mathtrans.library
  21.    mathieeedoubtrans.library
  22.    mathieeedoubbas.library
  23.    utility.library
  24.  
  25.    are opened, and our int main(int argc, char *argv[]) gets standard
  26.    (or AmigaDos) argc and argv.
  27.  
  28.    this means:
  29.  
  30.    CLI-Startup:
  31.  
  32.          argc = number of arguements (at least 1 for the program name)
  33.  
  34.            argv[0] = program name
  35.            argv[1] = arguement 1
  36.            argv[x] = last arguement
  37.            argv[x+1] = NULL
  38.  
  39.    WB-Startup:
  40.  
  41.         argc = 0
  42.         argv = pointer to our WBStartup-Message
  43.  
  44. */
  45.  
  46. extern "C" {
  47. #include <clib/dos_protos.h>
  48. }
  49.  
  50. #include <use_amiga_argc_argv.h>
  51.  
  52.  
  53. UBYTE    **ToolTypes=NULL;     /* for WB-startup */
  54.  
  55. int main(int argc, char *argv[])
  56. {
  57.     if(argc)
  58.     {
  59.         /* Start from CLI */
  60.         Printf((UBYTE *)"Start from CLI\n");
  61.  
  62.         if(argv[1]) Printf((UBYTE *)"Test: passed\n");
  63.     }
  64.     else
  65.     {
  66.         /* Start from WB */
  67.  
  68.         ToolTypes = ArgArrayInit(argc,(UBYTE **)argv);
  69.  
  70.         stdin=Open(ArgString(ToolTypes,(STRPTR)"WINDOW", (STRPTR)"CON:0/0/640/200/Default Window/AUTO/CLOSE/WAIT"),MODE_NEWFILE);
  71.  
  72.         if(!stdin)
  73.             stdin=Open((STRPTR)"CON:0/0/640/200/Default Window/AUTO/CLOSE/WAIT", MODE_NEWFILE);
  74.  
  75.         stdout=stdin;
  76.         SelectInput(stdin);
  77.         SelectOutput(stdout);
  78.  
  79.         /* Do something */
  80.  
  81.         Printf((UBYTE *)"Test... passed.\n");
  82.  
  83.  
  84.  
  85.  
  86.         Close(stdin);
  87.  
  88.         stdin=0;
  89.         stdout=0;
  90.         SelectInput(0);
  91.         SelectOutput(0);
  92.     }
  93.  
  94.     return RETURN_OK;
  95. }
  96.