home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / drdobbs / ddjcompr / hstest / lib / getargs.c < prev    next >
C/C++ Source or Header  |  1989-06-01  |  937b  |  33 lines

  1. #include <stdio.h>
  2.  
  3. /*
  4. ** char *getarg(&argc,argv,string)
  5. **   return and delete next option strting with character from string
  6. **   if string == NULL or *string = 0 then return next argument
  7. **
  8. **   returns pointer to option or NULL if none found
  9. **   use : while ((nextarg = getargs(&argc,argv,"-/")) != NULL
  10. **
  11. */
  12.  
  13. char *getargs(argcp, argv,string)
  14. int *argcp;
  15. register char **argv;
  16. char *string;
  17.     {                                   /* getarg */
  18.     int aloop;
  19.     register char *argptr;
  20.     for (aloop = *argcp;  aloop--;  argv++) /* for all arguments do */
  21.         {
  22.         argptr = *argv;
  23.         if (string == NULL || *string == '\0' || strchr(string,*argptr) != NULL)
  24.             {
  25.             --*argcp;
  26.             memcpy(&argv[0], &argv[1], aloop * sizeof (argv[0]));
  27.             return argptr;
  28.             }
  29.         }
  30.     return NULL;
  31.     }                                   /* getarg */
  32.  
  33.