File: dir.c

package info (click to toggle)
joe 2.8-10
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 1,080 kB
  • ctags: 1,764
  • sloc: ansic: 18,800; asm: 224; makefile: 122; sh: 9
file content (59 lines) | stat: -rw-r--r-- 1,329 bytes parent folder | download | duplicates (3)
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
52
53
54
55
56
57
58
59
/* Directory package for older UNIXs
   Copyright (C) 1992 Joseph H. Allen

This file is part of JOE (Joe's Own Editor)

JOE is free software; you can redistribute it and/or modify it under the 
terms of the GNU General Public License as published by the Free Software 
Foundation; either version 1, or (at your option) any later version.  

JOE is distributed in the hope that it will be useful, but WITHOUT ANY 
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more 
details.  

You should have received a copy of the GNU General Public License along with 
JOE; see the file COPYING.  If not, write to the Free Software Foundation, 
675 Mass Ave, Cambridge, MA 02139, USA.  */ 

struct direct
 {
 short d_ino;
 char d_name[14];
 };

void *opendir(name)
char *name;
 {
 return fopen(name,"r");
 }

struct direct *readdir(f)
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(f)
FILE *f;
 {
 fclose(f);
 }

int mkdir(s)
char *s;
 {
 char *y=0;
 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;
 }