we’ll need to distinguish these for sarge/etch as well
[alioth/jupp.git] / dir.c
1 /*
2  *      Directory package for older UNIXs
3  *      Copyright
4  *              (C) 1992 Joseph H. Allen
5  *
6  *      This file is part of JOE (Joe's Own Editor)
7  */
8
9 __RCSID("$MirOS: contrib/code/jupp/dir.c,v 1.3 2017/12/02 02:07:26 tg Exp $");
10
11 struct direct {
12         short d_ino;
13         unsigned char d_name[14];
14 };
15
16 void *opendir(unsigned char *name)
17 {
18         return fopen(name, "r");
19 }
20
21 struct direct *readdir(void *f)
22 {
23         static struct direct direct;
24
25         while (1 == fread(&direct, sizeof(struct direct), 1, (FILE *) f)) {
26                 if (direct.d_ino) {
27                         return &direct;
28                 }
29         }
30         return 0;
31 }
32
33 void closedir(FILE *f)
34 {
35         fclose(f);
36 }
37
38 int mkdir(unsigned char *s)
39 {
40         unsigned char *y = NULL;
41         int rtval;
42
43         y = vsncpy(sv(y), sc("/bin/mkdir "));
44         y = vsncpy(sv(y), sz(s));
45         y = vsncpy(sv(y), sc(" 2>/dev/null"));
46         tickoff();
47         rtval = system(y);
48         tickon();
49         vsrm(y);
50         return rtval;
51 }