home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / C / FS191 / XSPAWN33 / XSYSTEM.C < prev    next >
Text File  |  1991-05-04  |  1KB  |  52 lines

  1. /*
  2.  *                   XSPAWN
  3.  *                Version 1.33
  4.  *  (C) Copyright 1990 Whitney Software, Inc.
  5.  *             All Rights Reserved
  6.  */
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #ifndef LATTICE
  11. #include <io.h>
  12. #endif
  13. #include <errno.h>
  14. #include "xspawnp.h"
  15.  
  16. int xsystem( command )
  17. char *command;                   /* command to be passed to COMMAND.COM */
  18. {
  19.     char *argv[ 4 ];
  20.     int rc;
  21.  
  22.     *argv = getenv( "COMSPEC" );
  23.  
  24.     if ( command == NULL )
  25.     {
  26.         if ( *argv != NULL && !access( *argv, 0 ))
  27.             return( 1 );
  28.         else
  29.         {
  30.             errno = ENOENT;
  31.             return( 0 );
  32.         }
  33.     }
  34.  
  35.     argv[ 1 ] = "/c";
  36.     argv[ 2 ] = command;
  37.     argv[ 3 ] = NULL;
  38.  
  39.     if ( *argv != NULL )
  40.     {
  41.         if (( rc = xspawnve( P_WAIT, *argv, argv, NULL )) != -1 ||
  42.             errno != ENOENT )
  43.         {
  44.             return( rc );
  45.         }
  46.     }
  47.  
  48.     *argv = "command.com";
  49.  
  50.     return( xspawnvpe( P_WAIT, *argv, argv, NULL ));
  51. }
  52.