devSplit.c
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:1k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* devSplit.c - extra library for the I/O system */
  2. /* Copyright 1984-1997 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,21jun00,rsh  upgrade to dosFs 2.0
  7. 01c,31jul99,jkf  T2 merge, tidiness & spelling.
  8. 01b,14oct98,lrn  added MS-DOS style device names support
  9. 01a,10dec97,ms   taken from usrExtra.c
  10. */
  11. /*
  12. DESCRIPTION
  13. Provide a routine to split the device name from a full path name.
  14. */
  15. #include "vxWorks.h"
  16. #include "string.h"
  17. /******************************************************************************
  18. *
  19. * devSplit - split the device name from a full path name
  20. *
  21. * This routine returns the device name from a valid UNIX-style path name
  22. * by copying until two slashes ("/") are detected.  The device name is
  23. * copied into <devName>.
  24. *
  25. * RETURNS: N/A
  26. *
  27. * NOMANUAL
  28. */
  29. void devSplit
  30.     (
  31.     FAST char *fullFileName,    /* full file name being parsed */
  32.     FAST char *devName          /* result device name */
  33.     )
  34.     {
  35.     FAST int nChars = 0;
  36.     if (fullFileName != NULL)
  37.         {
  38.         char *p0 = fullFileName;
  39.         char *p1 = devName;
  40.         while ((nChars < 2) && (*p0 != EOS))
  41.             {
  42.             if (*p0 == ':')
  43. break;
  44.             if (*p0 == '/')
  45.                 nChars++;
  46.             *p1++ = *p0++;
  47.             }
  48.         *p1 = EOS;
  49.         }
  50.     else
  51.         {
  52.         (void) strcpy (devName, "");
  53.         }
  54.     }