Initial zoo port, this one done by Alexander Deynichenko. Initial .bep and .OPD files for fastjar also by Alexander.

This commit is contained in:
Scott McCreary
2009-11-28 09:11:51 +00:00
parent ac3133c19f
commit 6b7ede4be6
4 changed files with 842 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
DESCRIPTION="A jar program written in C"
HOMEPAGE="https://savannah.nongnu.org/projects/fastjar"
SRC_URI="http://mirror.its.uidaho.edu/pub/savannah/fastjar/fastjar-0.98.tar.gz"
REVISION="2"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd fastjar-0.98
autoreconf -vfi
configure --prefix=/boot/common
make
}
INSTALL {
cd fastjar-0.98
make install
}

View File

@@ -0,0 +1,6 @@
Package: fastjar
Version: 0.98
Copyright: 1999-2001 Bryan Burns, Cory Jon Hollingsworth, Matthias Klose (documentation)
Copyright: 2007-2009 Dalibor Topic
License: GNU GPL v2
URL: https://savannah.nongnu.org/projects/fastjar

View File

@@ -0,0 +1,806 @@
diff -Naur ar.h.old ar.h
--- ar.h.old 1993-05-01 04:04:22.000000000 +0000
+++ ar.h 2009-11-25 22:12:20.000000000 +0000
@@ -15,11 +15,9 @@
/* uchar should be 8 bits or more */
/* typedef unsigned char uchar; -- already in zoo.h */
-typedef unsigned int uint; /* 16 bits or more */
-#if !defined(__386BSD__) || !defined(_TYPES_H_)
-typedef unsigned short ushort; /* 16 bits or more */
-#endif
-typedef unsigned long ulong; /* 32 bits or more */
+typedef unsigned int my_uint; /* 16 bits or more */
+typedef unsigned short my_ushort; /* 16 bits or more */
+typedef unsigned long my_ulong; /* 32 bits or more */
/* T_UINT16 must be #defined in options.h to be
a 16-bit unsigned integer type */
@@ -49,7 +47,7 @@
/* ar.c */
extern int unpackable;
-extern ulong origsize, compsize;
+extern my_ulong origsize, compsize;
/* all the prototypes follow here for all files */
@@ -78,7 +76,7 @@
/* DECODE.C */
void decode_start PARMS((void ));
-int decode PARMS((uint count , uchar *buffer));
+int decode PARMS((uint count , uchar buffer []));
/* ENCODE.C */
void encode PARMS((FILE *, FILE *));
@@ -87,14 +85,14 @@
void output PARMS((uint c , uint p ));
void huf_encode_start PARMS((void ));
void huf_encode_end PARMS((void ));
-uint decode_c PARMS((void ));
-uint decode_p PARMS((void ));
+my_uint decode_c PARMS((void ));
+my_uint decode_p PARMS((void ));
void huf_decode_start PARMS((void ));
/* IO.C */
void make_crctable PARMS((void ));
void fillbuf PARMS((int n ));
-uint getbits PARMS((int n ));
+my_uint getbits PARMS((int n ));
void putbits PARMS((int n , uint x ));
int fread_crc PARMS((uchar *p , int n , FILE *f ));
void fwrite_crc PARMS((uchar *p , int n , FILE *f ));
diff -Naur basename.c.old basename.c
--- basename.c.old 1991-07-16 15:48:04.000000000 +0000
+++ basename.c 2009-11-25 22:12:20.000000000 +0000
@@ -18,7 +18,7 @@
/* This function strips device/directory information from
a pathname and returns just the plain filename */
-void basename (pathname, fname)
+void mybasename (pathname, fname)
char *pathname;
char fname[];
{
diff -Naur bsd.c.old bsd.c
--- bsd.c.old 1993-05-01 04:21:53.000000000 +0000
+++ bsd.c 2009-11-25 22:12:20.000000000 +0000
@@ -74,26 +74,14 @@
#define SEC_IN_DAY (24L * 60L * 60L)
#define INV_VALUE (SEC_IN_DAY + 1L)
static long retval = INV_VALUE; /* cache, init to impossible value */
-#ifndef __386BSD__
struct timeval tp;
struct timezone tzp;
-#else
- time_t lt;
- struct tm *tm;
-#endif
if (retval != INV_VALUE) /* if have cached value, return it */
return retval;
-#ifndef __386BSD__
gettimeofday (&tp, &tzp); /* specific to 4.3BSD */
/* return (tzp.tz_minuteswest * 60); */ /* old incorrect code */
/* Timezone fix thanks to Bill Davidsen <wedu@ge-crd.ARPA> */
- /* !! - ache@hq.demos.su */
- retval = tzp.tz_minuteswest * 60 - (tzp.tz_dsttime != 0) * 3600L;
-#else
- time(&lt);
- tm = localtime(&lt);
- retval = -tm->tm_gmtoff;
-#endif
+ retval = tzp.tz_minuteswest * 60 - tzp.tz_dsttime * 3600L;
return retval;
}
diff -Naur decode.c.old decode.c
--- decode.c.old 1993-05-01 04:04:21.000000000 +0000
+++ decode.c 2009-11-25 22:12:21.000000000 +0000
@@ -27,8 +27,8 @@
*/
int decode(count, buffer)
-uint count;
-uchar *buffer;
+my_uint count;
+uchar buffer[];
/* The calling function must keep the number of
bytes to be processed. This function decodes
either 'count' bytes or 'DICSIZ' bytes, whichever
@@ -37,8 +37,8 @@
Call decode_start() once for each new file
before calling this function. */
{
- static uint i;
- uint r, c;
+ static my_uint i;
+ my_uint r, c;
r = 0;
while (--j >= 0) {
diff -Naur encode.c.old encode.c
--- encode.c.old 1993-05-01 03:46:58.000000000 +0000
+++ encode.c 2009-11-25 22:12:21.000000000 +0000
@@ -5,11 +5,6 @@
Adapted from "ar" archiver written by Haruhiko Okumura.
*/
-#ifdef ANSI_HDRS
-# include <stdlib.h>
-# include <string.h>
-#endif
-
#include "options.h"
#include "zoo.h"
#include "ar.h"
@@ -20,6 +15,11 @@
#include <assert.h>
+#ifdef ANSI_HDRS
+# include <stdlib.h>
+# include <string.h>
+#endif
+
#include "errors.i"
FILE *lzh_infile;
diff -Naur huf.c.old huf.c
--- huf.c.old 1993-05-01 03:46:40.000000000 +0000
+++ huf.c 2009-11-25 22:12:21.000000000 +0000
@@ -5,10 +5,6 @@
Adapted from "ar" archiver written by Haruhiko Okumura.
***********************************************************/
-#ifdef ANSI_HDRS
-# include <stdlib.h>
-#endif
-
#include "options.h"
#include "zoo.h"
#include "ar.h"
@@ -17,6 +13,10 @@
extern void prterror();
+#ifdef ANSI_HDRS
+# include <stdlib.h>
+#endif
+
#define NP (DICBIT + 1)
#define NT (CODE_BIT + 3)
#define PBIT 4 /* smallest integer such that (1U << PBIT) > NP */
diff -Naur lzd.c.old lzd.c
--- lzd.c.old 1993-05-01 04:06:19.000000000 +0000
+++ lzd.c 2009-11-25 22:12:21.000000000 +0000
@@ -59,7 +59,7 @@
extern unsigned int filt_lzd_word;
#endif /* FILTER */
-void xwr_dchar PARMS ((int));
+void xwr_dchar PARMS ((char));
static int firstchar PARMS ((int));
static void cbfill PARMS ((void));
diff -Naur lzh.c.old lzh.c
--- lzh.c.old 1993-05-01 04:04:21.000000000 +0000
+++ lzh.c 2009-11-25 22:12:21.000000000 +0000
@@ -45,14 +45,14 @@
decode_start();
while (!decoded) {
- n = decode((uint) DICSIZ, (uchar *)out_buf_adr); /* n = count of chars decoded */
+ n = decode((my_uint) DICSIZ, out_buf_adr); /* n = count of chars decoded */
#ifdef COUNT_BYTES
bytes_decoded += n; /*debug*/
#endif
#ifdef CHECK_BREAK
check_break();
#endif
- fwrite_crc((uchar *)out_buf_adr, n, outfile);
+ fwrite_crc(out_buf_adr, n, outfile);
#ifdef SHOW_DOTS
(void) putc('.', stderr);
(void) fflush(stderr);
diff -Naur lzh.h.old lzh.h
--- lzh.h.old 1991-07-16 15:51:50.000000000 +0000
+++ lzh.h 2009-11-25 22:12:21.000000000 +0000
@@ -34,4 +34,4 @@
#define CBIT 9 /* $\lfloor \log_2 NC \rfloor + 1$ */
#define CODE_BIT 16 /* codeword length */
-extern ushort left[], right[];
+extern my_ushort left[], right[];
diff -Naur makefile.old makefile
--- makefile.old 1991-07-16 15:52:08.000000000 +0000
+++ makefile 2009-11-25 22:51:22.000000000 +0000
@@ -18,13 +18,16 @@
MAKE = make # needed for some systems e.g. older BSD
-CC = cc
+CC = gcc
CFLAGS =
MODEL =
EXTRA = -DBIG_MEM -DNDEBUG
LINTFLAGS = -DLINT
-OPTIM = -O
-DESTDIR = /usr/local/bin
+OPTIM = -O2
+DESTDIR = /boot/common
+BINDIR = $(DESTDIR)/bin
+MANDIR = $(DESTDIR)/man/man1
+
#List of all object files created for Zoo
ZOOOBJS = addbfcrc.o addfname.o basename.o comment.o crcdefs.o \
@@ -50,6 +53,7 @@
@echo "generic: generic **IX environment, minimal functionlity"
@echo "bsd: 4.3BSD or reasonable equivalent"
@echo "bsdansi: 4.3BSD with ANSI C"
+ @echo "haiku: Haiku"
@echo "ultrix: ULTRIX 4.1"
@echo "convex: Convex C200 series"
@echo "sysv: System V Release 2 or 3; or SCO Xenix"
@@ -68,16 +72,17 @@
# install alpha zoo as "tzoo"
install:
- mv zoo $(DESTDIR)/tzoo
+ mv zoo $(BINDIR)/tzoo
# install beta zoo as "bzoo"
inst_beta:
- mv zoo $(DESTDIR)/bzoo
+ mv zoo $(BINDIR)/bzoo
# install production zoo as "zoo"
inst_prod:
- mv zoo $(DESTDIR)/zoo
-
+ cp zoo fiz $(BINDIR)
+ cp zoo.1 fiz.1 $(MANDIR)
+
# executable targets
TARGETS = zoo fiz
@@ -106,6 +111,10 @@
convex:
$(MAKE) CFLAGS="-c $(OPTIM) -DBSD4_3 -DANSI_HDRS" $(TARGETS)
+# Haiku
+haiku:
+ $(MAKE) CFLAGS="-c $(OPTIM) -DSYS_V -DANSI_HDRS -DHAVE_MKDIR" $(TARGETS)
+
# SysV.2, V.3, SCO Xenix
sysv:
$(MAKE) CFLAGS="-c $(OPTIM) -DSYS_V" $(TARGETS)
@@ -189,73 +198,62 @@
# DO NOT DELETE THIS LINE -- it marks the beginning of this dependency list
addbfcrc.o: options.h
-addfname.o: /usr/include/stdio.h options.h various.h zoo.h zoofns.h zooio.h
+addfname.o: options.h various.h zoo.h zoofns.h zooio.h
addfname.o: zoomem.h
-basename.o: /usr/include/stdio.h assert.h debug.h options.h parse.h various.h
+basename.o: assert.h debug.h options.h parse.h various.h
basename.o: zoo.h zoofns.h zooio.h
-bsd.o: /usr/include/sys/stat.h /usr/include/sys/time.h
-bsd.o: /usr/include/sys/types.h nixmode.i nixtime.i
-comment.o: /usr/include/signal.h /usr/include/stdio.h
-comment.o: /usr/include/sys/signal.h errors.i options.h portable.h various.h
+bsd.o: nixmode.i nixtime.i
+comment.o: errors.i options.h portable.h various.h
comment.o: zoo.h zoofns.h zooio.h
crcdefs.o: options.h
-decode.o: /usr/include/stdio.h ar.h lzh.h options.h zoo.h
-encode.o: /usr/include/assert.h /usr/include/stdio.h ar.h errors.i lzh.h
+decode.o: ar.h lzh.h options.h zoo.h
+encode.o: ar.h errors.i lzh.h
encode.o: options.h zoo.h
-fiz.o: /usr/include/stdio.h options.h portable.h various.h zoo.h zoofns.h
+fiz.o: options.h portable.h various.h zoo.h zoofns.h
fiz.o: zooio.h
-generic.o: /usr/include/sys/stat.h /usr/include/sys/types.h
-generic.o: /usr/include/time.h nixmode.i nixtime.i
-getfile.o: /usr/include/stdio.h options.h various.h zoo.h zoofns.h zooio.h
+generic.o: nixmode.i nixtime.i
+getfile.o: options.h various.h zoo.h zoofns.h zooio.h
getfile.o: zoomem.h
-huf.o: /usr/include/stdio.h ar.h errors.i lzh.h options.h zoo.h
-io.o: /usr/include/stdio.h ar.h errors.i lzh.h options.h portable.h zoo.h
+huf.o: ar.h errors.i lzh.h options.h zoo.h
+io.o: ar.h errors.i lzh.h options.h portable.h zoo.h
io.o: zooio.h
-lzc.o: /usr/include/stdio.h assert.h debug.h lzconst.h options.h various.h
+lzc.o: assert.h debug.h lzconst.h options.h various.h
lzc.o: zoo.h zoofns.h zooio.h zoomem.h
-lzd.o: /usr/include/stdio.h assert.h debug.h lzconst.h options.h various.h
+lzd.o: assert.h debug.h lzconst.h options.h various.h
lzd.o: zoo.h zoofns.h zooio.h zoomem.h
-lzh.o: /usr/include/stdio.h ar.h errors.i options.h zoo.h
-machine.o: /usr/include/stdio.h options.h various.h zoo.h zoofns.h zooio.h
-makelist.o: /usr/include/stdio.h assert.h debug.h errors.i options.h
+lzh.o: ar.h errors.i options.h zoo.h
+machine.o: options.h various.h zoo.h zoofns.h zooio.h
+makelist.o: assert.h debug.h errors.i options.h
makelist.o: portable.h various.h zoo.h zoofns.h zooio.h
-maketbl.o: /usr/include/stdio.h ar.h lzh.h options.h zoo.h
-maketree.o: /usr/include/stdio.h ar.h lzh.h options.h zoo.h
-misc.o: /usr/include/signal.h /usr/include/stdio.h /usr/include/sys/signal.h
+maketbl.o: ar.h lzh.h options.h zoo.h
+maketree.o: ar.h lzh.h options.h zoo.h
misc.o: errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h
-misc2.o: /usr/include/stdio.h errors.i options.h portable.h various.h zoo.h
+misc2.o: errors.i options.h portable.h various.h zoo.h
misc2.o: zoofns.h zooio.h zoomem.h
-msdos.o: /usr/include/stdio.h errors.i options.h zoo.h zoofns.h zooio.h
-needed.o: /usr/include/stdio.h debug.h options.h portable.h various.h zoo.h
+msdos.o: errors.i options.h zoo.h zoofns.h zooio.h
+needed.o: debug.h options.h portable.h various.h zoo.h
needed.o: zoofns.h zooio.h
-nextfile.o: /usr/include/stdio.h options.h various.h zoo.h
-options.o: /usr/include/stdio.h errors.i options.h various.h zoo.h zoofns.h
+nextfile.o: options.h various.h zoo.h
+options.o: errors.i options.h various.h zoo.h zoofns.h
options.o: zooio.h
-parse.o: /usr/include/stdio.h assert.h options.h parse.h various.h zoo.h
+parse.o: assert.h options.h parse.h various.h zoo.h
parse.o: zoofns.h zooio.h
-portable.o: /usr/include/stdio.h assert.h debug.h machine.h options.h
+portable.o: assert.h debug.h machine.h options.h
portable.o: portable.h various.h zoo.h zoofns.h zooio.h
-prterror.o: /usr/include/stdio.h /usr/include/varargs.h options.h various.h
+prterror.o: options.h various.h
prterror.o: zoofns.h zooio.h
-sysv.o: /usr/include/sys/stat.h /usr/include/sys/types.h /usr/include/time.h
sysv.o: nixmode.i nixtime.i
-turboc.o: /usr/include/signal.h /usr/include/stdio.h /usr/include/sys/signal.h
-vms.o: /usr/include/time.h
-vmstime.o: /usr/include/stdio.h
-zoo.o: /usr/include/stdio.h errors.i options.h various.h zoo.h zoofns.h
+zoo.o: errors.i options.h various.h zoo.h zoofns.h
zoo.o: zooio.h zoomem.h
-zooadd.o: /usr/include/stdio.h debug.h errors.i options.h parse.h portable.h
+zooadd.o: debug.h errors.i options.h parse.h portable.h
zooadd.o: various.h zoo.h zoofns.h zooio.h zoomem.h
-zooadd2.o: /usr/include/stdio.h assert.h debug.h errors.i options.h parse.h
+zooadd2.o: assert.h debug.h errors.i options.h parse.h
zooadd2.o: various.h zoo.h zoofns.h zooio.h
-zoodel.o: /usr/include/signal.h /usr/include/stdio.h /usr/include/sys/signal.h
zoodel.o: errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h
-zooext.o: /usr/include/signal.h /usr/include/stdio.h /usr/include/sys/signal.h
zooext.o: errors.i machine.h options.h parse.h portable.h various.h zoo.h
zooext.o: zoofns.h zooio.h
zoofilt.o: options.h
-zoolist.o: /usr/include/stdio.h errors.i options.h portable.h various.h zoo.h
+zoolist.o: errors.i options.h portable.h various.h zoo.h
zoolist.o: zoofns.h zooio.h zoomem.h
-zoopack.o: /usr/include/signal.h /usr/include/stdio.h
-zoopack.o: /usr/include/sys/signal.h errors.i options.h portable.h various.h
+zoopack.o: errors.i options.h portable.h various.h
zoopack.o: zoo.h zoofns.h zooio.h
diff -Naur maketbl.c.old maketbl.c
--- maketbl.c.old 1991-07-16 15:52:32.000000000 +0000
+++ maketbl.c 2009-11-25 22:12:21.000000000 +0000
@@ -16,10 +16,10 @@
int nchar;
uchar bitlen[];
int tablebits;
-ushort table[];
+my_ushort table[];
{
- ushort count[17], weight[17], start[18], *p;
- uint i, k, len, ch, jutbits, avail, nextcode, mask;
+ my_ushort count[17], weight[17], start[18], *p;
+ my_uint i, k, len, ch, jutbits, avail, nextcode, mask;
for (i = 1; i <= 16; i++) count[i] = 0;
for (i = 0; i < nchar; i++) count[bitlen[i]]++;
@@ -27,7 +27,7 @@
start[1] = 0;
for (i = 1; i <= 16; i++)
start[i + 1] = start[i] + (count[i] << (16 - i));
- if (start[17] != (ushort)((unsigned) 1 << 16))
+ if (start[17] != (my_ushort)((unsigned) 1 << 16))
prterror('f', "Bad decode table\n");
jutbits = 16 - tablebits;
@@ -41,7 +41,7 @@
}
i = start[tablebits + 1] >> jutbits;
- if (i != (ushort)((unsigned) 1 << 16)) {
+ if (i != (my_ushort)((unsigned) 1 << 16)) {
k = 1 << tablebits;
while (i != k) table[i++] = 0;
}
diff -Naur maketree.c.old maketree.c
--- maketree.c.old 1991-07-16 15:52:38.000000000 +0000
+++ maketree.c 2009-11-25 22:12:21.000000000 +0000
@@ -12,7 +12,7 @@
static int n, heapsize;
static short heap[NC + 1];
-static ushort *freq, *sortptr, len_cnt[17];
+static my_ushort *freq, *sortptr, len_cnt[17];
static uchar *len;
static void count_len(i) /* call with i = root */
@@ -33,7 +33,7 @@
int root;
{
int i, k;
- uint cum;
+ my_uint cum;
for (i = 0; i <= 16; i++) len_cnt[i] = 0;
count_len(root);
@@ -75,10 +75,10 @@
static void make_code(j, length, code)
int j;
uchar length[];
-ushort code[];
+my_ushort code[];
{
int i;
- ushort start[18];
+ my_ushort start[18];
start[1] = 0;
for (i = 1; i <= 16; i++)
@@ -88,9 +88,9 @@
int make_tree(nparm, freqparm, lenparm, codeparm)
int nparm;
-ushort freqparm[];
+my_ushort freqparm[];
uchar lenparm[];
-ushort codeparm[];
+my_ushort codeparm[];
/* make tree, calculate len[], return root */
{
int i, j, k, avail;
diff -Naur options.h.old options.h
--- options.h.old 1993-05-01 04:27:59.000000000 +0000
+++ options.h 2009-11-25 22:12:21.000000000 +0000
@@ -31,7 +31,7 @@
#define GETTZ
#define FATTR
#define T_SIGNAL void
-#define VARARGS
+#define STDARG
#define NEED_MEMMOVE
/* #define NEED_MEMCPY */
#define T_UINT16 unsigned short /* must be 16 bit unsigned */
@@ -73,6 +73,7 @@
/* #define UNBUF_LIMIT 512 */
#define T_SIGNAL void
#define DIRECT_CONVERT
+#define STDARG
#define CHECK_BREAK
#define check_break kbhit
#define HAVE_ISATTY
@@ -88,6 +89,7 @@
/***********************************************************************/
#ifdef BSD4_3
+#define NOSTRCHR /* not really needed for 4.3BSD */
#define FILTER
#define IO_MACROS
#define EXISTS(f) (access(f, 00) == 0)
@@ -101,23 +103,12 @@
#define SETBUF
#define GETTZ
#define FATTR
-#ifdef __STDC__
-#ifndef ANSI_HDRS
-#define ANSI_HDRS
-#endif
-#define T_SIGNAL void
-#define STDARG
-#define ANSI_PROTO
-#define VOIDPTR void *
-#else
-#define NOSTRCHR /* not really needed for 4.3BSD */
#define T_SIGNAL int
#define VARARGS
#define NEED_MEMMOVE
-#define NEED_VPRINTF /* older BSDs only; newer ones have vprintf */
-#endif
#define T_UINT16 unsigned short /* must be 16 bit unsigned */
#define HAVE_ISATTY
+#define NEED_VPRINTF /* older BSDs only; newer ones have vprintf */
#endif /* BSD4_3 */
/* Ultrix 4.1 */
diff -Naur prterror.c.old prterror.c
--- prterror.c.old 1991-07-16 15:55:28.000000000 +0000
+++ prterror.c 2009-11-25 22:12:21.000000000 +0000
@@ -23,15 +23,7 @@
# include <ctype.h> /* for isdigit() */
#endif
-#ifdef STDARG
# include <stdarg.h>
-#else
-# ifdef VARARGS
-# include <varargs.h>
-# else
-# include "MUST DEFINE STDARG OR VARARGS"
-# endif
-#endif
#ifdef NEED_VPRINTF
static int zvfprintf();
@@ -115,29 +107,11 @@
char could_not_open[] = "Could not open %s.\n";
#endif
-#ifdef STDARG
-void prterror(int level, char *format, ...)
-#else
-/*VARARGS*/
-void prterror(va_alist)
-va_dcl
-#endif
+void prterror(level, format, a, b, c, d)
+register int level;
+char *format, *a, *b, *c, *d;
{
- va_list args;
char string[120]; /* local format string */
-#ifdef VARARGS
- int level;
- char *format;
-#endif
-
-#ifdef STDARG
- va_start(args, format);
-#else
- va_start(args);
- level = va_arg(args, int);
- format = va_arg(args, char *);
-#endif
-
*string = '\0'; /* get a null string to begin with */
#ifdef OOZ
@@ -149,7 +123,7 @@
switch (level) {
case 'M': *string = '\0'; /* fall through to 'm' */
case 'm': if (quiet) return; break;
- case 'w':
+ case 'w':
if (quiet > 1) return;
strcat (string, "WARNING: "); break;
case 'e':
@@ -163,12 +137,8 @@
strcat (string, format); /* just append supplied format string */
/* and print the whole thing */
-#ifdef NEED_VPRINTF
- (void) zvfprintf(stdout, string, args);
-#else
- (void) vprintf(string, args);
-#endif
- fflush (stdout);
+ printf (string, a, b, c, d); /* and print the whole thing */
+ fflush (stdout);
if (level == 'f') /* and abort on fatal error 'f' but not 'F' */
zooexit (1);
diff -Naur sysv.c.old sysv.c
--- sysv.c.old 1991-07-16 15:55:34.000000000 +0000
+++ sysv.c 2009-11-25 22:12:21.000000000 +0000
@@ -129,6 +129,7 @@
exists by the name of the needed directory.
*/
+#ifndef HAVE_MKDIR
int mkdir(dirname)
char *dirname;
{
@@ -140,6 +141,7 @@
}
return (0);
}
+#endif
/* No file truncate system call in older System V. If yours has one,
add it here -- see bsd.c for example. It's ok for zootrunc to be
diff -Naur zoo.c.old zoo.c
--- zoo.c.old 1991-07-17 12:28:43.000000000 +0000
+++ zoo.c 2009-11-25 22:12:21.000000000 +0000
@@ -225,17 +225,17 @@
if (cmd != NONE) {
switch (cmd) {
- case ADD: zooadd (zooname, filecount, &argv[3], "ahP"); break;
- case FRESHEN: zooadd (zooname, filecount, &argv[3], "ahuP"); break;
- case UPDATE: zooadd (zooname, filecount, &argv[3], "ahunP"); break;
- case MOVE: zooadd (zooname, filecount, &argv[3], "ahMP"); break;
+ case ADD: zooadd (zooname, filecount, &argv[3], "aP:"); break;
+ case FRESHEN: zooadd (zooname, filecount, &argv[3], "auP:"); break;
+ case UPDATE: zooadd (zooname, filecount, &argv[3], "aunP:"); break;
+ case MOVE: zooadd (zooname, filecount, &argv[3], "aMP:"); break;
case EXTRACT: zooext (zooname, "x"); break;
case TEST: zooext (zooname, "xNd"); break;
case PRINT: zooext (zooname, "xp"); break;
case DELETE: zoodel (zooname, "DP",1); break;
- case LIST: zoolist (&argv[2], "Vm", argc-2); break;
+ case LIST: zoolist (&argv[2], "VC", argc-2); break;
case COMMENT: comment (zooname, "c"); break;
default: goto show_usage;
}
diff -Naur zoo.h.old zoo.h
--- zoo.h.old 1993-05-01 03:40:56.000000000 +0000
+++ zoo.h 2009-11-25 22:12:21.000000000 +0000
@@ -1,9 +1,5 @@
/* derived from: zoo.h 2.16 88/01/27 23:21:36 */
-#ifndef ZOO_H
-
-#define ZOO_H
-
/*
The contents of this file are hereby released to the public domain.
@@ -131,7 +127,7 @@
char fname[FNAMESIZE]; /* filename */
int var_dir_len; /* length of variable part of dir entry */
- char tz; /* timezone where file was archived */
+ uchar tz; /* timezone where file was archived */
unsigned int dir_crc; /* CRC of directory entry */
/* fields for variable part of directory entry follow */
@@ -244,5 +240,3 @@
#define MAXGEN 0x0f
/* version mask to prune down to correct size on large-word machines */
#define VER_MASK 0xffff
-
-#endif /* ZOO_H */
diff -Naur zoo.man.old zoo.man
--- zoo.man.old 1991-07-17 13:12:22.000000000 +0000
+++ zoo.man 2009-11-25 22:12:21.000000000 +0000
@@ -121,15 +121,15 @@
Novice Equivalent
Command Description Expert Command
____________________________________________________________
- -add add files to archive ahP
+ -add add files to archive aP
-extract extract files from archive x
- -move move files to archive ahMP
+ -move move files to archive aMP
-test test archive integrity xNd
-print extract files to standard output xp
-delete delete files from archive DP
- -list list archive contents Vm
- -update add new or newer files ahunP
- -freshen by add newer files ahuP
+ -list list archive contents VC
+ -update add new or newer files aunP
+ -freshen by add newer files auP
-comment add comments to files c
Expert commands
diff -Naur zooadd.c.old zooadd.c
--- zooadd.c.old 1993-05-01 03:43:38.000000000 +0000
+++ zooadd.c 2009-11-25 22:12:21.000000000 +0000
@@ -34,9 +34,7 @@
int *, int *, int *, int *, int *, int *, int *, int *));
int ver_too_high PARMS ((struct zoo_header *));
void get_comment PARMS ((struct direntry *, ZOOFILE, char *));
-#ifndef PORTABLE
void copyfields PARMS ((struct direntry *, struct tiny_header *));
-#endif
void storefname PARMS ((struct direntry *, char *, int));
char *choosefname PARMS ((struct direntry *));
@@ -134,7 +132,7 @@
if (zoo_file == NOFILE)
prterror ('f', could_not_open, zoo_path);
-basename(zoo_path, zoo_fname); /* get basename of archive */
+mybasename(zoo_path, zoo_fname); /* get basename of archive */
rootname (zoo_path, zoo_bak); /* name without extension */
strcat (zoo_bak, BACKUP_EXT); /* name of backup of this archive */
@@ -224,7 +222,7 @@
break;
}
- basename (this_path, this_fname); /* get just filename for later */
+ mybasename (this_path, this_fname); /* get just filename for later */
this_file = zooopen(this_path, Z_READ);
if (this_file == NOFILE) {
diff -Naur zooadd2.c.old zooadd2.c
--- zooadd2.c.old 1991-07-19 23:38:10.000000000 +0000
+++ zooadd2.c 2009-11-25 22:12:21.000000000 +0000
@@ -263,7 +263,7 @@
direntry->zoo_tag = ZOO_TAG;
direntry->type = 2; /* type is now 2 */
#ifdef GETTZ
- direntry->tz = gettz() / (15 * 60); /* seconds => 15-min units */
+ direntry->tz = (uchar) (gettz() / (15 * 60)); /* seconds => 15-min units */
#else
direntry->tz = NO_TZ; /* timezone unknown */
#endif
diff -Naur zooext.c.old zooext.c
--- zooext.c.old 1993-05-01 03:58:50.000000000 +0000
+++ zooext.c 2009-11-25 22:12:21.000000000 +0000
@@ -626,7 +626,7 @@
/* Ctrl_c() is called if ^C is hit while a file is being extracted.
It closes the files, deletes it, and exits. */
-T_SIGNAL ctrl_c(int foo)
+T_SIGNAL ctrl_c()
{
#ifndef NOSIGNAL
signal (SIGINT, SIG_IGN); /* ignore any more */
diff -Naur zoofns.h.old zoofns.h
--- zoofns.h.old 1993-05-01 03:57:35.000000000 +0000
+++ zoofns.h 2009-11-25 22:12:21.000000000 +0000
@@ -42,12 +42,12 @@
int cfactor PARMS ((long, long));
int chname PARMS ((char *, char *));
int cmpnum PARMS ((unsigned int, unsigned int, unsigned int, unsigned int));
-T_SIGNAL ctrl_c PARMS ((int));
+T_SIGNAL ctrl_c PARMS ((void));
int exists PARMS ((char *));
int getfile PARMS ((ZOOFILE, ZOOFILE, long, int));
int getutime PARMS ((char *, unsigned *, unsigned *));
int gettime PARMS ((ZOOFILE, unsigned *, unsigned *));
-T_SIGNAL handle_break PARMS ((int));
+T_SIGNAL handle_break PARMS ((void));
#ifdef USE_ASCII
int isupper PARMS ((int));
@@ -85,7 +85,7 @@
void addfname PARMS ((char *, long, unsigned int, unsigned int,
unsigned, unsigned));
void add_version PARMS ((char *, struct direntry *));
-void basename PARMS ((char *, char []));
+void mybasename PARMS ((char *, char []));
void break_off PARMS ((void));
void close_file PARMS ((ZOOFILE));
void comment PARMS ((char *, char *));
diff -Naur zooio.h.old zooio.h
--- zooio.h.old 1993-05-01 03:39:50.000000000 +0000
+++ zooio.h 2009-11-25 22:12:21.000000000 +0000
@@ -12,8 +12,6 @@
#define OK_STDIO
#endif
-#include "zoo.h"
-
#ifndef PARMS
#ifdef LINT_ARGS
#define PARMS(x) x
diff -Naur zoopack.c.old zoopack.c
--- zoopack.c.old 1993-05-01 03:59:21.000000000 +0000
+++ zoopack.c 2009-11-25 22:12:21.000000000 +0000
@@ -171,7 +171,7 @@
} else {
strcpy (temp_file, xes);
}
-mktemp (temp_file); /* ... and make unique */
+mkstemp (temp_file); /* ... and make unique */
new_file = zoocreate (temp_file);
if (new_file == NOFILE)
prterror ('f', "Could not create temporary file %s.\n", temp_file);
@@ -388,7 +388,7 @@
/* handle_break() */
/* Sets break_hit to 1 when called */
-T_SIGNAL handle_break(int foo)
+T_SIGNAL handle_break()
{
#ifndef NOSIGNAL
signal (SIGINT, SIG_IGN); /* ignore future control ^Cs for now */

13
app-arch/zoo/zoo-2.10.bep Normal file
View File

@@ -0,0 +1,13 @@
DESCRIPTION="Manipulate archives of files in compressed form"
HOMEPAGE="unknown"
SRC_URI="ftp://ftp.kiarchive.ru/pub/unix/arcers/zoo-2.10pl1.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
make haiku
}
INSTALL {
make inst_prod
}