A gzip file is a sequence of compressed members. Each member has the
following structure:
-2 bytes magic header 0x1f, 0x8b (\037 \213)
+2 bytes magic header 0x1f, 0x8b (\037 \213)
1 byte compression method (0..7 reserved, 8 = deflate)
1 byte flags
bit 0 set: file probably ascii text
#CFLAGS = -m68000 -O2
#for the 68000, set below: OBJA=
CPPFLAGS = -Dmc68020
-LDFLAGS =
+LDFLAGS =
O = .o
SRCS = gzip.c zip.c deflate.c trees.c bits.c unzip.c inflate.c util.c crypt.c\
; Copyright (C) 1992-1993 Jean-loup Gailly
; This is free software; you can redistribute it and/or modify it under the
; terms of the GNU General Public License, see the file COPYING.
-
+
; $Id$
;
; Adapted for the Amiga by Carsten Steger <stegerc@informatik.tu-muenchen.de>
LDFLAGS=/e/st:0x1000/noe
# If you use lzexe as recommended, remove /e from LDFLAGS
AS=masm
-# For MSC 6.0, use: AS=ml
+# For MSC 6.0, use: AS=ml
ASFLAGS=-ml -t
# Add -DDYN_ALLOC to ASFLAGS if you have defined it in tailor.h or CFLAGS
LIB = c:\c51\lib
maxmatch: ; come here if maximum match
cmpsb ; increment si and di
jmp mismatch ; force match_length = MAX_LENGTH
-
+
_longest_match endp
_TEXT ends
short st_rwlock; /* Primos read/write lock */
/* Begin Unix compatibility - don't believe these entries! */
- dev_t st_dev;
+ dev_t st_dev;
ino_t st_ino;
mode_t st_mode;
short st_nlink;
{
char buf[256];
extern char *gvget();
-
+
buf[0] = '.';
strcpy(buf+1, var);
{
return delete(path);
}
-
+
int lstat(path, buf)
char *path;
struct stat *buf;
case -1:
return -1;
-
+
default:
buf->st_mode = primos_mode;
buf->st_size = fsize(path);
*/
buf->st_atime = buf->st_mtime;
buf->st_ctime = buf->st_mtime;
-
+
return 0;
}
If the files in these directories looks strange, then it might be
because they are in normal ASCII. You'll need to convert them into
PASCII before you will be able to build the GZIP executable.
-
+
You can find a simple ASCII to PASCII converter via anonymous FTP
from "ftp.lysator.liu.se" in the directory "pub/primos/run" as
the file "topascii.run".
Email:
- pen@signum.se Signum is a company giving support for
- Free Software. Call/Mail us if you're
+ pen@signum.se Signum is a company giving support for
+ Free Software. Call/Mail us if you're
interrested! (Phone: +46-13-21-46-00)
pen@lysator.liu.se Lysator is a computer society at the
# copies the data, not just the link. Therefore, set up the link in the
# directory in which the executable is to reside, or else rename (move) the
# executables into the directory.
-#
+#
set file/enter=gunzip.exe gzip.exe
set file/enter=zcat.exe gzip.exe
# copies the data, not just the link. Therefore, set up the link in the
# directory in which the executable is to reside, or else rename (move) the
# executables into the directory.
-#
+#
set file/enter=gunzip.exe gzip.exe
set file/enter=zcat.exe gzip.exe
# copies the data, not just the link. Therefore, set up the link in the
# directory in which the executable is to reside, or else rename (move) the
# executables into the directory.
-#
+#
set file/enter=gunzip.exe gzip.exe
set file/enter=zcat.exe gzip.exe
$ endif
$ write sys$output "linking ''linkobjs'"
$ link /exec=gzip.exe 'linkobjs',sys$input/opt
-SYS$LIBRARY:VAXCRTL/SHARE
+SYS$LIBRARY:VAXCRTL/SHARE
$
$ ! Create a hard link. (To remove both files, delete the copy FIRST, then
$ ! the original. Otherwise, if original deleted first [copy says "no such
int new_argc = 0;
int context, status;
char buf[255], *p;
-
+
vms_argv = xmalloc((max_files+1)*sizeof(char*));
vms_argv[new_argc++] = **argv;
} else { /* Files */
context = 0;
if (find_file_c(argv[0][i], buf, sizeof(buf), &context) & 1 != 1) {
- /*
+ /*
* Wrong file ?
* forward it to gzip
*/
if (new_argc < max_files) {
vms_argv[new_argc++] = p;
}
- while (find_file_c(argv[0][i], buf,
+ while (find_file_c(argv[0][i], buf,
sizeof(buf), &context) & 1 == 1) {
p = xmalloc(strlen(buf)+1);
strcpy(p, buf);
struct Str_desc in_desc,out_desc;
int status;
char *p;
-
+
in_desc.addr = in;
in_desc.length = strlen(in);
-
+
out_desc.addr = out;
out_desc.length = out_len;
-
+
status = lib$find_file(&in_desc,&out_desc,context);
p = out_desc.addr;
p++;
}
*p = 0;
-
+
return status;
}
quit reading the current file; go on to the next (if any)
.PP
.IP "e or q"
-When the prompt --More--(Next file:
+When the prompt --More--(Next file:
.IR file )
is printed, this command causes zmore to exit.
.PP
.IP s
-When the prompt --More--(Next file:
+When the prompt --More--(Next file:
.IR file )
is printed, this command causes zmore to skip the next file and continue.
-.PP
+.PP
.IP =
Display the current line number.
.PP
search for the \fIi\^\fP-th occurrence of the last regular expression entered.
.PP
.IP !command
-invoke a shell with \fIcommand\fP.
+invoke a shell with \fIcommand\fP.
The character `!' in "command" is replaced with the
previous shell command. The sequence "\\!" is replaced by "!".
.PP