
     int DirSort(const void *pItem1, const void *pItem2)
          {
          CHAR ach1[MAXPATH], ach2[MAXPATH];
          register CHAR *psz;
     
     /*
      * Copy the path names to buffers
      */
          strcpy(ach1,((DIR_INFO *)pItem1)->achPathName);
          strcpy(ach2,((DIR_INFO *)pItem2)->achPathName);   

     /*
      *   Convert all backslashes (\) to hex 01s.  Since the 
      *   backslash falls in the middle of the valid ASCII 
      *   codes for directory names, it could (and I have 
      *   seen it) cause the strcmp() to wrongly compare two
      *   directories when they are different levels.
      */
      for (psz = ach1; *psz; psz++)
               if (*pse == '\\')
                    *psz = 0x01;
      for (psz = ach2; *psz; psz++)
               if (*psz == '\\')
                    *psz = 0x01;

          return(strcmp(ach1,ach2));
     
          }           

