home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l440 / 2.ddi / CHAP6 / FMEV.C < prev    next >
Encoding:
C/C++ Source or Header  |  1990-09-27  |  1.2 KB  |  48 lines

  1. /**********************************************************
  2.  *  FMEV.C - Find Master Environment Variable             *
  3.  *  Jim Kyle, July 7, 1990                                *
  4.  *                                                        *
  5.  *  cl -qc fmev.c -MAmx nxtevar.asm envpkg.asm            *
  6.  **********************************************************/
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10.  
  11. char far * nxtevar( char far * vptr );
  12. char far * mstenvp( void );
  13.  
  14. void main ( int argc, char * argv[] )
  15. { char far * menv;
  16.   char vname[128], *vdata, tgt[64];
  17.   int tlen;
  18.  
  19.   menv = mstenvp();
  20.   if (argc < 2)
  21.     { printf("Var to find: ");
  22.       gets( tgt );
  23.     }
  24.   else
  25.     strcpy( tgt, argv[1] );
  26.   tlen = strlen( tgt );
  27.  
  28.   while ( menv )
  29.     { sprintf(vname, "%Fs", menv );
  30.       if ( vname[tlen] == '=' )
  31.         { vdata = &vname[tlen+1];
  32.           vname[tlen] = '\0';
  33.           if ( stricmp( tgt, vname ) == 0 )
  34.             break;
  35.         }
  36.       menv = nxtevar( menv );
  37.     }
  38.  
  39.   if ( menv )
  40.     { printf("Found %s at %Fp:\n%s\n", vname, menv, vdata );
  41.       exit(0);
  42.     }
  43.   else
  44.     { printf("%s not found.\n", tgt );
  45.       exit(1);
  46.     }
  47. }
  48.