Skip to content

Conversation

@Blaisorblade
Copy link

Silence sensible Eclipse warnings, and fix some bugs found during the process.

Also started to modularize DMGExtractor (i.e. not using one large static
method).
Also managed to slip in some changes that NetBeans made to the project
files.
- Added 'struct classes' for the on-disk data representation of various
  UDIF structs.
- Added a few new useful utilities.
- Updated documentation on UDIF format.
- Various minor fixes.
Integrated into HFSExplorer and functioning nicely... (much work has
been done)
A lot less information is now kept in memory, and parsing is faster
(though other parts might be slower, but it can be optimized later). A
lot of changes are related to switching from working with byte arrays to
working with streams. I HAVE WORKED LIKE HELL!
- Renamed the XML parser to something more presentable (APX Parser for
  XML).
- Updated the entire DMGExtractor program to use a more modular
  approach, with all the new classes. Found some bugs along the way, so
  some minor things should work better now.
It is better suited to be in a separate JAR, so that it won't have to be
recompiled every time.
Will convert entire program to GPL3 to allow it to link with Apache
bzip2 library.
Old dmg2iso reference sources are moved to a 'subprojects' directory and
iHarder Bas64 sources are stored pre-compiled in a JAR file, which is
extracted into the target JAR build dir when building the final JAR.
unsound and others added 29 commits November 10, 2008 06:06
The plist parsing functionality was previously split between XMLNode,
which is supposed to belong to the XML parser and not deal with
specific applications of XML, and Plist.java in
org.catacombae.dmg.udif, which is specific to UDIF parsing.

To get a more general plist parsing facility, the org.catacombae.plist
package was created which isolates the plist parsing specifics (and
also introduces a possibility of adding support for non-XML plist
formats in the future (binary plists for instance).
Method threw a NullPointerException instead of returning null when no
key was found.
- IOException does not take a 'Throwable cause' in its constructor in
  JDK 5.
- @OverRide annotation cannot be used for methods that are implementing
  an interface in JDK 5.
One per-project .gitignore is sufficient nowadays; remove other copies
of the same content, or turn them into .gitignore when they contain
something useful.
This helps silence most useless Eclipse warnings.
The result of string concatenation can't be null, as noticed by Eclipse,
hence this code is dead.
But this code calls a method which *can* return null, hence check
if *that* has happened.

(This is an example of why listening to warnings is useful).
char[].toString doesn't do the right thing.
This can be recovered from the git history, if needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants