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