home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / flistfrontend / src / dclwild.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-28  |  1.4 KB  |  57 lines

  1. #ifndef NO_IDENT
  2. static char *Id = "$Id: dclwild.c,v 1.4 1995/05/28 18:44:49 tom Exp $";
  3. #endif
  4.  
  5. /*
  6.  * Title:    dclwild.c
  7.  * Author:    Thomas E. Dickey
  8.  * Created:    30 Jun 1984
  9.  * Last update:
  10.  *        18 Feb 1995, port to AXP with DEC C (change '+' to '|' to
  11.  *                 avoid integer overflow error).
  12.  *        26 Dec 1984, use result of 'dclarg' parsing, rather than a
  13.  *                 re-parse here.
  14.  *        10 Sep 1984, use "rmsinit"
  15.  *
  16.  * Function:    This procedure tests a VMS filename for the presence of wildcard
  17.  *        indicators.  Its primary use is in command parsing, to ensure
  18.  *        that no wildcards are used.
  19.  *
  20.  * Parameters:    dcl_    => DCLARG structure (defining filename to test).
  21.  *
  22.  * Returns:    The logical 'AND' of all wildcard bits returned by SYS$PARSE
  23.  *        in the NAM-block.  While the bit NAM$M_WILDCARD tests all of
  24.  *        these, the actual bits are returned to test particular types
  25.  *        of illegal wildcard use.
  26.  */
  27.  
  28. #include    <rms.h>
  29. #include    <stsdef.h>
  30.  
  31. #include    "dclarg.h"
  32.  
  33. int
  34. dclwild (
  35.     DCLARG    *dcl_)
  36. {
  37.     if (dcl_->dcl_stat && ! $VMS_STATUS_SUCCESS(dcl_->dcl_stat))
  38.         return (-1);
  39.     else
  40.         return (dcl_->dcl$l_fnb
  41.                 & (    NAM$M_WILD_VER
  42.                 |    NAM$M_WILD_TYPE
  43.                 |    NAM$M_WILD_NAME
  44.                 |    NAM$M_WILDCARD    /* inclusive test */
  45.                 |    NAM$M_WILD_DIR
  46.                 |    NAM$M_WILD_UFD
  47.                 |    NAM$M_WILD_GRP
  48.                 |    NAM$M_WILD_MBR
  49.                 |    NAM$M_WILD_SFD1
  50.                 |    NAM$M_WILD_SFD2
  51.                 |    NAM$M_WILD_SFD3
  52.                 |    NAM$M_WILD_SFD4
  53.                 |    NAM$M_WILD_SFD5
  54.                 |    NAM$M_WILD_SFD6
  55.                 |    NAM$M_WILD_SFD7));
  56. }
  57.