home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
SWITCH2.ZIP
/
MYTREE.C
< prev
next >
Wrap
C/C++ Source or Header
|
1990-01-22
|
1KB
|
71 lines
/* mytree.c */
/* Copyright Darien Mann 1989
GENIE D.MANN4 */
#include "os2.h"
#include "stdio.h"
#include "string.h"
#include "dos.h"
FILEFINDBUF sbuf;
int drvno;
int count = 0;
char sname[256];
main(argc,argv)
int argc;
char **argv;
{
unsigned long drvmap;
DosQCurDisk(&drvno, &drvmap);
schdir("\\");
}
schdir(char *dirname)
{
unsigned shan = -1;
int scnt = 1;
DosChdir(dirname, 0L);
if(!DosFindFirst("*",&shan,_A_NORMAL | _A_SUBDIR,
&sbuf,sizeof(sbuf),&scnt,0L))
{
do
{
if((sbuf.attrFile & _A_SUBDIR) && (sbuf.achName[0] != '.'))
{
schdir(sbuf.achName);
pdir();
DosChdir("..",0L);
}
}while(DosFindNext(shan,&sbuf,sizeof(sbuf),&scnt) == 0);
}
DosFindClose(shan);
}
schfile()
{
unsigned shan = -1;
int scnt = 1;
if(!DosFindFirst(sname,&shan,_A_NORMAL,&sbuf,sizeof(sbuf),&scnt,0L))
{
do pfile();
while(DosFindNext(shan,&sbuf,sizeof(sbuf),&scnt)==0);
}
DosFindClose(shan);
}
pfile()
{
count++;
pdir();
printf("%s\n",strlwr(sbuf.achName));
}
pdir()
{
char dbuf[256];
int dlen=sizeof(dbuf);
DosQCurDir(0,dbuf,&dlen);
printf("%c:\\%s\n",drvno+'A'-1,dbuf);
}