home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / GLEN / IS.ZIP / IS_FUN.C < prev    next >
C/C++ Source or Header  |  1988-10-26  |  2KB  |  45 lines

  1. /*
  2. ** is-fun.c source module for function dispatcher for IS
  3. */
  4.  
  5. #include <stdio.h>
  6. #include <string.h>
  7. #include "is.h"
  8.  
  9. int is_fun(char *fun, char * *env, char *ret_str)
  10. {
  11.    /* external functions supported */
  12.    extern int is_input(char *, char *);
  13.    extern int is_sys(char *, char *);
  14.    extern int is_file(char *, char *);
  15.    extern int is_disk(char *, char *);
  16.  
  17.    int ret, i, j;          /* useful ints  */
  18.    size_t n;
  19.    char *lwrfun;           /* storage for lowercase function name  */
  20.  
  21.    /*
  22.    ** determine which function is requested, can be one of the following:
  23.    ** input[(prompt)] | sysdate | systime | filedate(d:\path\file.ext) |
  24.    ** filetime(d:\path\file.ext) | filesize(d:\path\file.ext) |
  25.    ** diskfree[(d:)] | disksize[(d:)]
  26.    */
  27.  
  28.    lwrfun = strlwr(strdup(fun));
  29.    if((strncmp(lwrfun, "input", 5)) == 0)      /* is it input or input()?  */
  30.        ret = is_input(fun, ret_str);           /* if so, get user input    */
  31.    else if((strncmp(lwrfun, "sys", 3)) == 0)   /* is it sysdate or systime */
  32.        ret = is_sys(lwrfun, ret_str);          /* if so, get it            */
  33.    else if((strncmp(lwrfun, "file", 4)) == 0)  /* is it filesize, date or  */
  34.        ret = is_file(lwrfun, ret_str);         /* time, if so get it       */
  35.    else if((strncmp(lwrfun, "disk", 4)) == 0)  /* is it diskfree or        */
  36.        ret = is_disk(lwrfun, ret_str);         /* disksize, if so get it   */
  37.    else
  38.    {                                           /* otherwise . . . treat it */
  39.        strcpy(ret_str, lwrfun);                /* as a literal string      */
  40.        ret = OK;
  41.    }
  42.    return(ret);
  43. }
  44.  
  45.