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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
/*
* Directory package for older UNIXs
* Copyright
* (C) 1992 Joseph H. Allen
*
* This file is part of JOE (Joe's Own Editor)
*/
__RCSID("$MirOS: contrib/code/jupp/dir.c,v 1.3 2017/12/02 02:07:26 tg Exp $");
struct direct {
short d_ino;
unsigned char d_name[14];
};
void *opendir(unsigned char *name)
{
return fopen(name, "r");
}
struct direct *readdir(void *f)
{
static struct direct direct;
while (1 == fread(&direct, sizeof(struct direct), 1, (FILE *) f)) {
if (direct.d_ino) {
return &direct;
}
}
return 0;
}
void closedir(FILE *f)
{
fclose(f);
}
int mkdir(unsigned char *s)
{
unsigned char *y = NULL;
int rtval;
y = vsncpy(sv(y), sc("/bin/mkdir "));
y = vsncpy(sv(y), sz(s));
y = vsncpy(sv(y), sc(" 2>/dev/null"));
tickoff();
rtval = system(y);
tickon();
vsrm(y);
return rtval;
}
|