mirror of
https://github.com/AppleCommander/AppleCommander.git
synced 2026-10-24 08:02:19 +00:00
Adding AAF docs and making inspection verify that files were found.
This commit is contained in:
1 parent
a0be3cecc6
commit
f9f7625203
2 files changed
+55
-1
No files matched your search
@@ -0,0 +1,50 @@
|
||||
Apple Archive Format
|
||||
Version 1.01
|
||||
|
||||
COPYRIGHT 1990 by Jonathan A. Chandross.
|
||||
All Rights Reserved.
|
||||
|
||||
The AAF is a simple archive format designed for shipping around Apple
|
||||
source code. An archive consists of a series of lines. Each line is
|
||||
interpreted according to the first character of the line. The
|
||||
interpretations are:
|
||||
|
||||
= the name of the unpacked file starting here
|
||||
- a source line to be unpacked into the current file
|
||||
+ end of archive.
|
||||
|
||||
Lines beginning with any other character are simply output to the console.
|
||||
|
||||
A simple example of this format:
|
||||
From: random@foobar.com
|
||||
To: freeworld
|
||||
Subject: First program.
|
||||
R.
|
||||
=helloworld.c
|
||||
-main()
|
||||
-{
|
||||
- printf("Hello World\n");
|
||||
-}
|
||||
=Read.Me
|
||||
-Test out a C compiler; just compile and execute.
|
||||
+ All done.
|
||||
J. Random Hacker
|
||||
random@foobar.com
|
||||
|
||||
This file would create the files "helloworld.c" and "Read.Me". When
|
||||
the archive was unpacked, all of the non-source and non-file-name
|
||||
lines would be output to the console until the '+' was encountered.
|
||||
|
||||
Using '=' to specify a file name and '-' to specify a line of source
|
||||
allows a standard USENET or email file to be unpacked without removing
|
||||
any preamble or trailing information.
|
||||
|
||||
The '+' at the end of the file indicates the end of an archive. Lines
|
||||
occurring past this point will not be processed at all.
|
||||
|
||||
The '=' and "+" sentinels are due to Doug Gwyn.
|
||||
|
||||
|
||||
Jonathan A. Chandross
|
||||
jac@paul.rutgers.edu
|
||||
November 1990
|
||||
+5
-1
@@ -27,7 +27,11 @@ public class AppleArchiveFormatFileStoreFactory implements FileStoreFactory {
|
||||
public void inspect(Context ctx) {
|
||||
DataBuffer data = ctx.source.readAllBytes();
|
||||
if (data.matches(ch -> (Character.isWhitespace(ch) || (ch >= 0x20 && ch <= 0x7f)))) {
|
||||
ctx.fileStores.add(new AppleArchiveFormatFileStore(ctx.source));
|
||||
// It sort of looks like one; process the file and see if we catch any files!
|
||||
AppleArchiveFormatFileStore aaf = new AppleArchiveFormatFileStore(ctx.source);
|
||||
if (!aaf.getRootDirectory().getFiles().isEmpty()) {
|
||||
ctx.fileStores.add(aaf);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user