<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,6 +24,11 @@
 #include &lt;usb.h&gt;
 #include &quot;usb_dfu.h&quot;
 
+#ifdef WIN32
+#define sleep(x) Sleep(1000 * x)
+#define usleep(x) Sleep(x / 1000)
+#endif
+
 /* DFU states */
 #define STATE_APP_IDLE                  0x00
 #define STATE_APP_DETACH                0x01</diff>
      <filename>dfu-util/dfu.h</filename>
    </modified>
    <modified>
      <diff>@@ -60,18 +60,18 @@ static int verbose = 0;
 #define DFU_IFF_PATH		0x4000
 
 struct usb_vendprod {
-	u_int16_t vendor;
-	u_int16_t product;
+	uint16_t vendor;
+	uint16_t product;
 };
 
 struct dfu_if {
-	u_int16_t vendor;
-	u_int16_t product;
-	u_int8_t configuration;
-	u_int8_t interface;
-	u_int8_t altsetting;
+	uint16_t vendor;
+	uint16_t product;
+	uint8_t configuration;
+	uint8_t interface;
+	uint8_t altsetting;
 	int bus;
-	u_int8_t devnum;
+	uint8_t devnum;
 	const char *path;
 	unsigned int flags;
 	struct usb_device *dev;</diff>
      <filename>dfu-util/main.c</filename>
    </modified>
    <modified>
      <diff>@@ -42,15 +42,6 @@ struct usb_dfu_func_descriptor {
 #define USB_REQ_DFU_GETSTATE	0x05
 #define USB_REQ_DFU_ABORT	0x06
 
-#if 0
-struct dfu_status {
-	u_int8_t bStatus;
-	u_int8_t bwPollTimeout[3];
-	u_int8_t bState;
-	u_int8_t iString;
-} __attribute__((packed));
-#endif
-
 #define DFU_STATUS_OK			0x00
 #define DFU_STATUS_errTARGET		0x01
 #define DFU_STATUS_errFILE		0x02</diff>
      <filename>dfu-util/usb_dfu.h</filename>
    </modified>
    <modified>
      <diff>@@ -27,7 +27,7 @@ Dictionary* parseIPSW(const char* inputIPSW, const char* bundleRoot, char** bund
 	DIR* dir;
 	struct dirent* ent;
 	StringValue* plistSHA1String;
-	char plistHash[20];
+	unsigned char plistHash[20];
 	int i;
 
 	*bundlePath = NULL;
@@ -48,7 +48,7 @@ Dictionary* parseIPSW(const char* inputIPSW, const char* bundleRoot, char** bund
 
 	fclose(inputIPSWFile);
 
-	printf(&quot;Matching IPSW...\n&quot;);
+	printf(&quot;Matching IPSW... (%02hhx%02hhx%02hhx%02hhx...)\n&quot;, hash[0], hash[1], hash[2], hash[3]);
 
 	dir = opendir(bundleRoot);
 	if(dir == NULL) {
@@ -64,6 +64,7 @@ Dictionary* parseIPSW(const char* inputIPSW, const char* bundleRoot, char** bund
 		strcpy(infoPath, bundleRoot);
 		strcat(infoPath, ent-&gt;d_name);
 		strcat(infoPath, &quot;/Info.plist&quot;);
+		printf(&quot;checking: %s\n&quot;, infoPath);
 
 		if((plistFile = createAbstractFileFromFile(fopen(infoPath, &quot;rb&quot;))) != NULL) {
 			plist = (char*) malloc(plistFile-&gt;getLength(plistFile));
@@ -81,7 +82,7 @@ Dictionary* parseIPSW(const char* inputIPSW, const char* bundleRoot, char** bund
 					&amp;plistHash[15], &amp;plistHash[16], &amp;plistHash[17], &amp;plistHash[18], &amp;plistHash[19]);
 
 				for(i = 0; i &lt; 20; i++) {
-					if(plistHash[0] != hash[0]) {
+					if(plistHash[i] != hash[i]) {
 						break;
 					}
 				}</diff>
      <filename>ipsw-patch/pwnutil.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>99b6bb0e7628bf2b37e34f2b84373f3237f8c841</id>
    </parent>
  </parents>
  <author>
    <name>planetbeing</name>
    <email>planetbeing@gmail.com</email>
  </author>
  <url>http://github.com/planetbeing/xpwn/commit/5c47bd66fe31c2a93100c709a5f787f8917e4216</url>
  <id>5c47bd66fe31c2a93100c709a5f787f8917e4216</id>
  <committed-date>2008-07-20T09:24:17-07:00</committed-date>
  <authored-date>2008-07-20T09:24:17-07:00</authored-date>
  <message>fixed a few windows problems</message>
  <tree>9086105195ff802d130712febc1c037538e7eb27</tree>
  <committer>
    <name>planetbeing</name>
    <email>planetbeing@gmail.com</email>
  </committer>
</commit>
