[Pocketgames-devel] SF.net SVN: pocketgames: [229] libraries/cab
Status: Beta
Brought to you by:
idominguez
|
From: <ido...@us...> - 2008-03-07 23:57:50
|
Revision: 229
http://pocketgames.svn.sourceforge.net/pocketgames/?rev=229&view=rev
Author: idominguez
Date: 2008-03-07 15:57:55 -0800 (Fri, 07 Mar 2008)
Log Message:
-----------
Specific example added to README file
Modified Paths:
--------------
libraries/cab/doc/examples/README
libraries/cab/src/org/pocketgames/cab/installdata/CabInstallDataReader.java
libraries/cab/src/org/pocketgames/cab/installdata/Word.java
libraries/cab/src/org/pocketgames/cab/installdata/backend/CabInstallDataPrinter.java
libraries/cab/src/org/pocketgames/cab/installdata/frontend/CabInstallDataParser.java
Modified: libraries/cab/doc/examples/README
===================================================================
--- libraries/cab/doc/examples/README 2008-01-12 12:59:15 UTC (rev 228)
+++ libraries/cab/doc/examples/README 2008-03-07 23:57:55 UTC (rev 229)
@@ -1,3 +1,3 @@
To parse cab header files, use the script in bin/:
-./bin/cabheader.sh < doc/examples/sample1.000
+./bin/cabheader.sh < doc/examples/tkcreate.000
Modified: libraries/cab/src/org/pocketgames/cab/installdata/CabInstallDataReader.java
===================================================================
--- libraries/cab/src/org/pocketgames/cab/installdata/CabInstallDataReader.java 2008-01-12 12:59:15 UTC (rev 228)
+++ libraries/cab/src/org/pocketgames/cab/installdata/CabInstallDataReader.java 2008-03-07 23:57:55 UTC (rev 229)
@@ -1,12 +1,17 @@
package org.pocketgames.cab.installdata;
+import org.pocketgames.cab.installdata.backend.CabInstallDataPrinter;
import org.pocketgames.cab.installdata.frontend.CabInstallDataParser;
+import org.pocketgames.cab.installdata.data.CabInstallData;
public class CabInstallDataReader
{
public static void main (String args[]) throws Exception
{
CabInstallDataParser parser = new CabInstallDataParser();
- parser.parseCabInstallDataFile (System.in);
+ CabInstallData data = parser.parseCabInstallDataFile (System.in);
+ CabInstallDataPrinter printer = new CabInstallDataPrinter();
+ byte[] bytes = printer.getBytes(data);
+ System.out.write(bytes);
}
}
Modified: libraries/cab/src/org/pocketgames/cab/installdata/Word.java
===================================================================
--- libraries/cab/src/org/pocketgames/cab/installdata/Word.java 2008-01-12 12:59:15 UTC (rev 228)
+++ libraries/cab/src/org/pocketgames/cab/installdata/Word.java 2008-03-07 23:57:55 UTC (rev 229)
@@ -48,7 +48,7 @@
public static byte[] toWord32 (int i)
{
- byte[] ret = new byte[2];
+ byte[] ret = new byte[4];
ret[0] = (byte)(i & 0xFF);
ret[1] = (byte)((i >>> 8) & 0xFF);
ret[2] = (byte)((i >>> 16) & 0xFF);
Modified: libraries/cab/src/org/pocketgames/cab/installdata/backend/CabInstallDataPrinter.java
===================================================================
--- libraries/cab/src/org/pocketgames/cab/installdata/backend/CabInstallDataPrinter.java 2008-01-12 12:59:15 UTC (rev 228)
+++ libraries/cab/src/org/pocketgames/cab/installdata/backend/CabInstallDataPrinter.java 2008-03-07 23:57:55 UTC (rev 229)
@@ -38,6 +38,7 @@
int numberOfRegHives = this.head.reghives.size();
byte[] regkeys = this.getRegKeysBytes();
int numberOfRegKeys = this.head.regkeys.size();
+ System.err.println (numberOfRegKeys);
byte[] links = this.getLinksBytes();
int numberOfLinks = this.head.links.size();
int offsetStrings = 100;
@@ -71,12 +72,12 @@
this.setUnknownBytes();
this.setArchitecture();
this.setCompatibility();
- this.copyToMain (toWord32(total_length), 8);
+ this.copyToMain (toWord32(this.head.totalLength), 8);
this.copyToMain (toWord16(numberOfStrings), 48);
this.copyToMain (toWord16(numberOfDirs), 50);
this.copyToMain (toWord16(numberOfFiles), 52);
this.copyToMain (toWord16(numberOfRegHives), 54);
- this.copyToMain (toWord16(0), 56); // Number of regkeys
+ this.copyToMain (toWord16(numberOfRegKeys), 56); // Number of regkeys
this.copyToMain (toWord16(numberOfLinks), 58);
this.copyToMain (toWord32(offsetStrings), 60);
this.copyToMain (toWord32(offsetDirs), 64);
@@ -121,12 +122,12 @@
private void setCompatibility ()
{
- this.copyToMain (toWord32 (this.head.minimalVersion.getMinor()), 24);
- this.copyToMain (toWord32 (this.head.minimalVersion.getMajor()), 28);
- this.copyToMain (toWord32 (this.head.maximalVersion.getMinor()), 32);
- this.copyToMain (toWord32 (this.head.maximalVersion.getMajor()), 36);
- this.copyToMain (toWord32 (this.head.minimalBuildNumber), 40);
- this.copyToMain (toWord32 (this.head.maximalBuildNumber), 44);
+ this.copyToMain (toWord32 (this.head.minimalVersion.getMajor()), 24);
+ this.copyToMain (toWord32 (this.head.minimalVersion.getMinor()), 28);
+ this.copyToMain (toWord32 (this.head.maximalVersion.getMajor()), 32);
+ this.copyToMain (toWord32 (this.head.maximalVersion.getMinor()), 36);
+ this.copyToMain (toWord32 (this.head.maximalBuildNumber), 40);
+ this.copyToMain (toWord32 (this.head.minimalBuildNumber), 44);
}
private byte[] getAppName ()
Modified: libraries/cab/src/org/pocketgames/cab/installdata/frontend/CabInstallDataParser.java
===================================================================
--- libraries/cab/src/org/pocketgames/cab/installdata/frontend/CabInstallDataParser.java 2008-01-12 12:59:15 UTC (rev 228)
+++ libraries/cab/src/org/pocketgames/cab/installdata/frontend/CabInstallDataParser.java 2008-03-07 23:57:55 UTC (rev 229)
@@ -74,7 +74,7 @@
dirs,
files,
regHives,
- new HashSet<REGKEY>(),
+ regKeys,
links,
appname,
provider,
@@ -233,6 +233,7 @@
Pair<Integer,REGKEY> res = ParserREGKEY.parseRegKey (content, offsetRK);
offsetRK = res.getLeft();
this.regKeys.add (res.getRight());
+ System.err.println("One regkey added");
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|