Subversion Repositories SvarDOS

Rev

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

Rev 421 Rev 533
Line 24... Line 24...
24
 
24
 
25
/*
25
/*
26
 * mkdir
26
 * mkdir
27
 */
27
 */
28
 
28
 
29
static int cmd_mkdir(struct cmd_funcparam *p) {
29
static enum cmd_result cmd_mkdir(struct cmd_funcparam *p) {
30
  const char *dname = p->argv[0];
30
  const char *dname = p->argv[0];
31
  unsigned short err = 0;
31
  unsigned short err = 0;
32
 
32
 
33
  if (cmd_ishlp(p)) {
33
  if (cmd_ishlp(p)) {
34
    outputnl("Creates a directory");
34
    outputnl("Creates a directory");
35
    outputnl("");
35
    outputnl("");
36
    outputnl("MKDIR [drive:]path");
36
    outputnl("MKDIR [drive:]path");
37
    outputnl("MD [drive:]path");
37
    outputnl("MD [drive:]path");
38
    return(-1);
38
    return(CMD_OK);
39
  }
39
  }
40
 
40
 
41
  if (p->argc == 0) {
41
  if (p->argc == 0) {
42
    outputnl("Required parameter missing");
42
    outputnl("Required parameter missing");
43
    return(-1);
43
    return(CMD_FAIL);
44
  }
44
  }
45
 
45
 
46
  if (p->argc > 1) {
46
  if (p->argc > 1) {
47
    outputnl("Too many parameters");
47
    outputnl("Too many parameters");
48
    return(-1);
48
    return(CMD_FAIL);
49
  }
49
  }
50
 
50
 
51
  if (p->argv[0][0] == '/') {
51
  if (p->argv[0][0] == '/') {
52
    outputnl("Invalid parameter");
52
    outputnl("Invalid parameter");
53
    return(-1);
53
    return(CMD_FAIL);
54
  }
54
  }
55
 
55
 
56
  _asm {
56
  _asm {
57
    push ax
57
    push ax
58
    push dx
58
    push dx
Line 66... Line 66...
66
 
66
 
67
    pop dx
67
    pop dx
68
    pop ax
68
    pop ax
69
  }
69
  }
70
 
70
 
-
 
71
  if (err != 0) {
71
  if (err != 0) outputnl(doserr(err));
72
    outputnl(doserr(err));
-
 
73
    return(CMD_FAIL);
-
 
74
  }
72
 
75
 
73
  return(-1);
76
  return(CMD_OK);
74
}
77
}