summaryrefslogtreecommitdiff
path: root/dmake/msdos/find.c
diff options
context:
space:
mode:
Diffstat (limited to 'dmake/msdos/find.c')
-rw-r--r--dmake/msdos/find.c130
1 files changed, 0 insertions, 130 deletions
diff --git a/dmake/msdos/find.c b/dmake/msdos/find.c
deleted file mode 100644
index d35cc477ec9e..000000000000
--- a/dmake/msdos/find.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- Directory Access Library
-
- FIND.C taken from DIRLIB.C by M. J. Weinstein
- Released to public domain 1-Jan-89
-
- The author may be contacted at:
- matt@cs.ucla.edu -or- POB 84524, L.A., CA 90073
-
- Modified by dvadura@watdragon.edu to work with dmake.
- (nuked the DOS version 2 code, since dmake needs version
- 3.0 or greater to function).
- */
-
-
-/*
- * revision history:
- *
- * VER MM/DD/YY COMMENTS
- * ---- -------- --------
- * 0.99 02/24/86 Beta release to INTERNET
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-#include <string.h>
-#include <alloc.h>
-#include <dos.h>
-#include "dosdta.h"
-
-#ifndef MK_FP
-#define MK_FP(seg,ofs) ((void far *) \
- (((unsigned long)(seg) << 16) | (unsigned)(ofs)))
-#endif
-#ifndef FP_SEG
-#define FP_SEG(fp) ((unsigned)((unsigned long)(fp) >> 16))
-#endif
-#ifndef FP_OFF
-#define FP_OFF(fp) ((unsigned)(fp))
-#endif
-
-int find_err;
-
-/*
- * get/set dta address
- */
-
-static DTA far *
-_getsetdta(newdta)
-DTA far *newdta;
-{
- DTA far *olddta;
- union REGS r;
- struct SREGS s;
-
- /* get old dta */
- r.h.ah = 0x2f;
- intdos(&r, &r);
- segread(&s);
- olddta = (DTA far *) MK_FP(s.es, r.x.bx);
-
- /* conditionally set new dta */
- if (newdta) {
- r.h.ah = 0x1a;
- s.ds = FP_SEG(newdta);
- r.x.dx = FP_OFF(newdta);
- intdosx(&r, &r, &s);
- }
-
- return olddta;
-}
-
-/*
- * dos findfirst
- */
-
-DTA *
-findfirst(name, dta)
-char *name;
-DTA *dta;
-{
- union REGS r;
- struct SREGS s;
- DTA far *dtasave;
- char far *nmp = (char far *)name;
-
- dtasave = _getsetdta((DTA far *)dta);
-
- /* do directory lookup */
- segread(&s);
- r.h.ah = 0x4e;
- r.x.cx = 0x10;
- r.x.dx = FP_OFF(nmp);
- s.ds = FP_SEG(nmp);
- intdosx(&r, &r, &s);
- /* restore dta */
- _getsetdta(dtasave);
- find_err = r.x.ax;
- if (r.x.cflag)
- return(NULL);
-
- return dta;
-}
-
-/*
- * dos findnext
- */
-
-DTA *
-findnext(dta)
-DTA *dta;
-{
- union REGS r;
- DTA far *dtasave;
-
- dtasave = _getsetdta((DTA far *)dta);
-
- /* do directory lookup */
- r.h.ah = 0x4f;
- intdos(&r, &r);
- /* restore old dta */
- _getsetdta(dtasave);
- find_err = r.x.ax;
- if (r.x.cflag)
- return(NULL);
-
- return dta;
-}