You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2016/06/23 23:38:11 UTC
[2/2] git commit: [flex-falcon] [refs/heads/develop] - add ability to
uncompress a SWF so LZMA compressed SWFs can be dumped with the old Flex SDK
SWFDump which I am more used to reading
add ability to uncompress a SWF so LZMA compressed SWFs can be dumped with the old Flex SDK SWFDump which I am more used to reading
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/f36ceb25
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/f36ceb25
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/f36ceb25
Branch: refs/heads/develop
Commit: f36ceb25fafcf183e0d3ffc1a9a0df8b6beb1505
Parents: 3fd7d0e
Author: Alex Harui <ah...@apache.org>
Authored: Wed Jun 22 08:48:20 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Jun 23 14:23:59 2016 -0700
----------------------------------------------------------------------
.../java/org/apache/flex/swf/io/SWFDump.java | 36 +++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/f36ceb25/compiler/src/main/java/org/apache/flex/swf/io/SWFDump.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/swf/io/SWFDump.java b/compiler/src/main/java/org/apache/flex/swf/io/SWFDump.java
index 2f500ae..6d6c22b 100644
--- a/compiler/src/main/java/org/apache/flex/swf/io/SWFDump.java
+++ b/compiler/src/main/java/org/apache/flex/swf/io/SWFDump.java
@@ -2333,6 +2333,7 @@ public final class SWFDump
static boolean defuncOption = true;
static boolean saveOption = false;
static boolean tabbedGlyphsOption = true;
+ static boolean uncompressOption = false;
/**
* SWFDump will dump a SWF file as XML.
@@ -2371,6 +2372,12 @@ public final class SWFDump
saveOption = true;
outfile = args[index++];
}
+ else if (args[index].equals("-uncompress"))
+ {
+ ++index;
+ uncompressOption = true;
+ outfile = args[index++];
+ }
else if (args[index].equals("-decompile"))
{
decompileOption = true;
@@ -2512,8 +2519,35 @@ public final class SWFDump
in.close();
}
}
+ if (uncompressOption)
+ {
+ final SWFReader swfReader = new SWFReader();
+ final String path = url.getPath();
+ try
+ {
+ SWF swf = (SWF)swfReader.readFrom(
+ new BufferedInputStream(url.openStream()),
+ path);
+
+ ProblemQuery problemQuery = new ProblemQuery();
+ problemQuery.addAll(swfReader.getProblems());
+ if (!problemQuery.hasErrors())
+ {
+ OutputStream fileOut = new BufferedOutputStream(new FileOutputStream(outfile));
+ SWFWriter swfWriter = new SWFWriter(swf, Header.Compression.NONE);
+ swfWriter.writeTo(fileOut);
+ swfWriter.close();
+ }
+ }
+ finally
+ {
+ IOUtils.closeQuietly(swfReader);
+ }
+
+ }
- dumpSwf(out, url, outfile);
+ if (!uncompressOption)
+ dumpSwf(out, url, outfile);
out.flush();
}