Subversion Repositories SvarDOS

Rev

Rev 397 | Rev 403 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 397 Rev 399
Line 83... Line 83...
83
        case 'A':
83
        case 'A':
84
          /* TODO */
84
          /* TODO */
85
          outputnl("/A NOT IMPLEMENTED YET");
85
          outputnl("/A NOT IMPLEMENTED YET");
86
          return(-1);
86
          return(-1);
87
          break;
87
          break;
-
 
88
        case 'b':
-
 
89
        case 'B':
-
 
90
          flags |= DIR_FLAG_BARE;
-
 
91
          break;
88
        case 'p':
92
        case 'p':
89
        case 'P':
93
        case 'P':
90
          flags |= DIR_FLAG_PAUSE;
94
          flags |= DIR_FLAG_PAUSE;
91
          if (neg) flags &= (0xff ^ DIR_FLAG_PAUSE);
95
          if (neg) flags &= (0xff ^ DIR_FLAG_PAUSE);
92
          break;
96
          break;
Line 103... Line 107...
103
    }
107
    }
104
  }
108
  }
105
 
109
 
106
  if (filespecptr == NULL) filespecptr = ".";
110
  if (filespecptr == NULL) filespecptr = ".";
107
 
111
 
-
 
112
  {
108
  file_truename(filespecptr, p->BUFFER);
113
    unsigned short r = file_truename(filespecptr, p->BUFFER);
-
 
114
    if (r != 0) {
-
 
115
      outputnl(doserr(r));
-
 
116
      return(-1);
-
 
117
    }
-
 
118
  }
-
 
119
 
-
 
120
  if ((flags & DIR_FLAG_BARE) == 0) {
-
 
121
    unsigned char drv = p->BUFFER[0];
-
 
122
    if (drv >= 'a') {
-
 
123
      drv -= 'a';
-
 
124
    } else {
-
 
125
      drv -= 'A';
-
 
126
    }
-
 
127
    cmd_vol_internal(drv, p->BUFFER + 1024);
-
 
128
    sprintf(p->BUFFER + 1024, "Directory of %s", p->BUFFER);
-
 
129
    /* trim at first '?', if any */
-
 
130
    for (i = 0; p->BUFFER[i + 1024] != 0; i++) if (p->BUFFER[i + 1024] == '?') p->BUFFER[i + 1024] = 0;
-
 
131
    outputnl(p->BUFFER + 1024);
-
 
132
    outputnl("");
-
 
133
  }
109
 
134
 
110
  /* if dir then append \????????.??? */
135
  /* if dir then append \????????.??? */
111
  i = file_getattr(p->BUFFER);
136
  i = file_getattr(p->BUFFER);
112
  if ((i > 0) && (i & DOS_ATTR_DIR)) strcat(p->BUFFER, "\\????????.???");
137
  if ((i > 0) && (i & DOS_ATTR_DIR)) strcat(p->BUFFER, "\\????????.???");
113
 
138