123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #include <exec/memory.h>
- #ifdef AZTEC_C
- # include <libraries/dos.h>
- # include <libraries/dosextens.h>
- # include <clib/exec_protos.h>
- # include <clib/dos_protos.h>
- # include <pragmas/exec_lib.h>
- # include <pragmas/dos_lib.h>
- #else
- # include <proto/exec.h>
- # include <proto/dos.h>
- #endif
- #include <stdlib.h>
- #include "ziperr.h"
- void ziperr(int c, const char *h);
- #define ZIP
- #if !defined(UTIL)
- # define NO_MKTIME
- #endif
- #ifdef AZTEC_C
- # include "amiga/filedate.c"
- # include "amiga/stat.c"
- # define setenv BOGUS_INCOMPATIBLE_setenv
- # include <fcntl.h>
- # undef setenv
- # ifdef DEBUG
- # define PRESTART_HOOK
- # endif
- #endif
- extern void close_leftover_open_dirs(void);
- void _abort(void)
- {
- close_leftover_open_dirs();
- ziperr(ZE_ABORT, "^C");
- }
- void ClearIOErr_exit(int e)
- {
- if (!e)
- ((struct Process *) FindTask(NULL))->pr_Result2 = 0;
-
- exit(e);
- }
- const char version_id[] = "\0$VER: Zip 2.3 ("
- # include "env:VersionDate"
- ")\r\n";
- char *GetComment(char *filename)
- {
- BPTR lk;
- static struct FileInfoBlock *fib = NULL;
- if (!filename) {
- if (fib) FreeMem(fib, sizeof(*fib));
- fib = NULL;
- return NULL;
- }
- if (!fib) {
- if (!(fib = AllocMem(sizeof(*fib), MEMF_PUBLIC)))
- ziperr(ZE_MEM, "was checking filenotes");
- }
- if (!(lk = Lock(filename, ACCESS_READ)))
- return NULL;
- if (!Examine(lk, fib))
- fib->fib_Comment[0] = '\0';
- UnLock(lk);
- return fib->fib_Comment[0] ? &fib->fib_Comment[0] : NULL;
- }
|