summaryrefslogtreecommitdiff
path: root/Build/source/utils/xml2pmx/xml2pmx-src/Args.c
blob: 550ef966cce494933d082ef541c0e9513a363d16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

#include "obx.h"
#include <stdlib.h>

value* GetArg(value *bp) {
     int n = bp[HEAD+0].i;
     char *s = (char *) pointer(bp[HEAD+1]);
     int len = bp[HEAD+2].i;
     const char *t =
          (0 <= n && n < saved_argc ? saved_argv[n] : "");
     obcopy(s, len, t, 0, bp);
     return bp;
}

value *GetEnv(value *bp) {
     char *name = (char *) pointer(bp[HEAD+0]);
     char *s = (char *) pointer(bp[HEAD+2]);
     int len = bp[HEAD+3].i;
     const char *t = getenv(name);
     if (t == NULL) t = "";
     obcopy(s, len, t, 0, bp);
     return bp;
}

int GetArgc(void) {
  return saved_argc;
}