Artifact c42011c7c358a64b3b4ef26d680361abcf8b0eee:
Ticket change
[c42011c7c3]
- Ticket 923a912309 osx will not unzip the zip files created by fossil status still Open with 1 other change
by
anonymous on
2009-10-18 15:31:44.
0000: 44 20 32 30 30 39 2d 31 30 2d 31 38 54 31 35 3a D 2009-10-18T15:
0010: 33 31 3a 34 34 0a 4a 20 2b 63 6f 6d 6d 65 6e 74 31:44.J +comment
0020: 20 5c 6e 5c 6e 3c 68 72 3e 3c 69 3e 61 6e 6f 6e \n\n<hr><i>anon
0030: 79 6d 6f 75 73 5c 73 63 6c 61 69 6d 69 6e 67 5c ymous\sclaiming\
0040: 73 74 6f 5c 73 62 65 5c 73 44 6d 69 74 72 79 5c sto\sbe\sDmitry\
0050: 73 43 68 65 73 74 6e 79 6b 68 5c 73 61 64 64 65 sChestnykh\sadde
0060: 64 5c 73 6f 6e 5c 73 32 30 30 39 2d 31 30 2d 31 d\son\s2009-10-1
0070: 38 5c 73 31 35 3a 33 31 3a 34 34 3a 3c 2f 69 3e 8\s15:31:44:</i>
0080: 3c 62 72 3e 5c 6e 49 66 5c 73 77 65 5c 73 75 73 <br>\nIf\swe\sus
0090: 65 5c 73 64 65 66 6c 61 74 65 49 6e 69 74 32 5c e\sdeflateInit2\
00a0: 73 69 6e 73 74 65 61 64 5c 73 6f 66 5c 73 64 65 sinstead\sof\sde
00b0: 66 6c 61 74 65 49 6e 69 74 2c 5c 73 7a 6c 69 62 flateInit,\szlib
00c0: 5c 73 77 69 6c 6c 5c 73 6e 6f 74 5c 73 61 70 70 \swill\snot\sapp
00d0: 65 6e 64 5c 73 41 64 6c 65 72 33 32 5c 73 43 52 end\sAdler32\sCR
00e0: 43 5c 73 74 6f 5c 73 74 68 65 5c 73 65 6e 64 5c C\sto\sthe\send\
00f0: 73 6f 66 5c 73 63 6f 6d 70 72 65 73 73 65 64 5c sof\scompressed\
0100: 73 73 74 72 65 61 6d 2c 5c 73 61 6e 64 5c 73 61 sstream,\sand\sa
0110: 6c 73 6f 5c 73 69 74 5c 73 77 69 6c 6c 5c 73 6e lso\sit\swill\sn
0120: 6f 74 5c 73 70 72 65 70 65 6e 64 5c 73 32 2d 62 ot\sprepend\s2-b
0130: 79 74 65 5c 73 73 69 67 6e 61 74 75 72 65 5c 73 yte\ssignature\s
0140: 74 6f 5c 73 74 68 65 5c 73 62 65 67 69 6e 6e 69 to\sthe\sbeginni
0150: 6e 67 5c 73 6f 66 5c 73 63 6f 6d 70 72 65 73 73 ng\sof\scompress
0160: 65 64 5c 73 73 74 72 65 61 6d 2e 5c 72 5c 6e 5c ed\sstream.\r\n\
0170: 72 5c 6e 54 68 69 73 5c 73 66 69 78 65 73 5c 73 r\nThis\sfixes\s
0180: 74 68 65 5c 73 69 73 73 75 65 5c 73 77 69 74 68 the\sissue\swith
0190: 5c 73 64 69 74 74 6f 2e 5c 72 5c 6e 5c 72 5c 6e \sditto.\r\n\r\n
01a0: 28 41 73 5c 73 64 69 73 63 75 73 73 65 64 5c 73 (As\sdiscussed\s
01b0: 5b 68 74 74 70 3a 2f 2f 77 77 77 2e 6d 61 69 6c [http://www.mail
01c0: 2d 61 72 63 68 69 76 65 2e 63 6f 6d 2f 66 6f 73 -archive.com/fos
01d0: 73 69 6c 2d 75 73 65 72 73 40 6c 69 73 74 73 2e sil-users@lists.
01e0: 66 6f 73 73 69 6c 2d 73 63 6d 2e 6f 72 67 2f 6d fossil-scm.org/m
01f0: 73 67 30 30 36 34 34 2e 68 74 6d 6c 5c 73 7c 5c sg00644.html\s|\
0200: 73 68 65 72 65 5d 29 5c 72 5c 6e 5c 72 5c 6e 3c shere])\r\n\r\n<
0210: 76 65 72 62 61 74 69 6d 3e 5c 72 5c 6e 2d 2d 2d verbatim>\r\n---
0220: 5c 73 73 72 63 2f 7a 69 70 2e 63 5c 72 5c 6e 2b \ssrc/zip.c\r\n+
0230: 2b 2b 5c 73 73 72 63 2f 7a 69 70 2e 63 5c 72 5c ++\ssrc/zip.c\r\
0240: 6e 40 40 5c 73 2d 31 32 36 2c 31 31 5c 73 2b 31 n@@\s-126,11\s+1
0250: 32 36 2c 31 30 5c 73 40 40 5c 72 5c 6e 5c 73 2a 26,10\s@@\r\n\s*
0260: 2a 5c 73 74 68 61 74 5c 73 74 68 65 5c 73 66 69 *\sthat\sthe\sfi
0270: 6c 65 5c 73 73 68 6f 75 6c 64 5c 73 62 65 5c 73 le\sshould\sbe\s
0280: 73 61 76 65 64 5c 73 61 73 2e 5c 72 5c 6e 5c 73 saved\sas.\r\n\s
0290: 2a 2f 5c 72 5c 6e 5c 73 76 6f 69 64 5c 73 7a 69 */\r\n\svoid\szi
02a0: 70 5f 61 64 64 5f 66 69 6c 65 28 63 6f 6e 73 74 p_add_file(const
02b0: 5c 73 63 68 61 72 5c 73 2a 7a 4e 61 6d 65 2c 5c \schar\s*zName,\
02c0: 73 63 6f 6e 73 74 5c 73 42 6c 6f 62 5c 73 2a 70 sconst\sBlob\s*p
02d0: 46 69 6c 65 29 7b 5c 72 5c 6e 5c 73 5c 73 5c 73 File){\r\n\s\s\s
02e0: 7a 5f 73 74 72 65 61 6d 5c 73 73 74 72 65 61 6d z_stream\sstream
02f0: 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 69 6e 74 5c 73 ;\r\n\s\s\sint\s
0300: 6e 61 6d 65 4c 65 6e 3b 5c 72 5c 6e 2d 5c 73 5c nameLen;\r\n-\s\
0310: 73 69 6e 74 5c 73 73 6b 69 70 3b 5c 72 5c 6e 5c sint\sskip;\r\n\
0320: 73 5c 73 5c 73 69 6e 74 5c 73 74 6f 4f 75 74 3b s\s\sint\stoOut;
0330: 5c 72 5c 6e 5c 73 5c 73 5c 73 69 6e 74 5c 73 69 \r\n\s\s\sint\si
0340: 53 74 61 72 74 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 Start;\r\n\s\s\s
0350: 69 6e 74 5c 73 69 43 52 43 5c 73 3d 5c 73 30 3b int\siCRC\s=\s0;
0360: 5c 72 5c 6e 5c 73 5c 73 5c 73 69 6e 74 5c 73 6e \r\n\s\s\sint\sn
0370: 42 79 74 65 5c 73 3d 5c 73 30 3b 5c 72 5c 6e 5c Byte\s=\s0;\r\n\
0380: 73 5c 73 5c 73 69 6e 74 5c 73 6e 42 79 74 65 43 s\s\sint\snByteC
0390: 6f 6d 70 72 5c 73 3d 5c 73 30 3b 5c 72 5c 6e 40 ompr\s=\s0;\r\n@
03a0: 40 5c 73 2d 31 37 37 2c 35 33 5c 73 2b 31 37 36 @\s-177,53\s+176
03b0: 2c 33 37 5c 73 40 40 5c 72 5c 6e 5c 73 5c 73 5c ,37\s@@\r\n\s\s\
03c0: 73 62 6c 6f 62 5f 61 70 70 65 6e 64 28 26 62 6f sblob_append(&bo
03d0: 64 79 2c 5c 73 7a 48 64 72 2c 5c 73 33 30 29 3b dy,\szHdr,\s30);
03e0: 5c 72 5c 6e 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 \r\n\s\s\sblob_a
03f0: 70 70 65 6e 64 28 26 62 6f 64 79 2c 5c 73 7a 4e ppend(&body,\szN
0400: 61 6d 65 2c 5c 73 6e 61 6d 65 4c 65 6e 29 3b 5c ame,\snameLen);\
0410: 72 5c 6e 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 70 r\n\s\s\sblob_ap
0420: 70 65 6e 64 28 26 62 6f 64 79 2c 5c 73 7a 45 78 pend(&body,\szEx
0430: 54 69 6d 65 2c 5c 73 31 33 29 3b 5c 72 5c 6e 5c Time,\s13);\r\n\
0440: 73 5c 72 5c 6e 5c 73 5c 73 5c 73 69 66 28 5c 73 s\r\n\s\s\sif(\s
0450: 6e 42 6c 6f 62 3e 30 5c 73 29 7b 5c 72 5c 6e 2d nBlob>0\s){\r\n-
0460: 5c 73 5c 73 5c 73 5c 73 2f 2a 5c 73 54 68 65 5c \s\s\s\s/*\sThe\
0470: 73 66 69 72 73 74 5c 73 74 77 6f 5c 73 62 79 74 sfirst\stwo\sbyt
0480: 65 73 5c 73 74 68 61 74 5c 73 63 6f 6d 65 5c 73 es\sthat\scome\s
0490: 6f 75 74 5c 73 6f 66 5c 73 74 68 65 5c 73 64 65 out\sof\sthe\sde
04a0: 66 6c 61 74 65 5c 73 63 6f 6d 70 72 65 73 73 6f flate\scompresso
04b0: 72 5c 73 61 72 65 5c 72 5c 6e 2d 5c 73 5c 73 5c r\sare\r\n-\s\s\
04c0: 73 5c 73 2a 2a 5c 73 73 6f 6d 65 5c 73 6b 69 6e s\s**\ssome\skin
04d0: 64 5c 73 6f 66 5c 73 68 65 61 64 65 72 5c 73 74 d\sof\sheader\st
04e0: 68 61 74 5c 73 5a 49 50 5c 73 64 6f 65 73 5c 73 hat\sZIP\sdoes\s
04f0: 6e 6f 74 5c 73 75 73 65 2e 5c 73 5c 73 53 6f 5c not\suse.\s\sSo\
0500: 73 73 6b 69 70 5c 73 74 68 65 5c 73 66 69 72 73 sskip\sthe\sfirs
0510: 74 5c 73 74 77 6f 5c 72 5c 6e 2d 5c 73 5c 73 5c t\stwo\r\n-\s\s\
0520: 73 5c 73 2a 2a 5c 73 6f 75 74 70 75 74 5c 73 62 s\s**\soutput\sb
0530: 79 74 65 73 2e 5c 72 5c 6e 2d 5c 73 5c 73 5c 73 ytes.\r\n-\s\s\s
0540: 5c 73 2a 2f 5c 72 5c 6e 2d 5c 73 5c 73 5c 73 5c \s*/\r\n-\s\s\s\
0550: 73 73 6b 69 70 5c 73 3d 5c 73 32 3b 5c 72 5c 6e sskip\s=\s2;\r\n
0560: 2d 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 2f -\r\n\s\s\s\s\s/
0570: 2a 5c 73 57 72 69 74 65 5c 73 74 68 65 5c 73 63 *\sWrite\sthe\sc
0580: 6f 6d 70 72 65 73 73 65 64 5c 73 66 69 6c 65 2e ompressed\sfile.
0590: 5c 73 5c 73 43 6f 6d 70 75 74 65 5c 73 74 68 65 \s\sCompute\sthe
05a0: 5c 73 43 52 43 5c 73 61 73 5c 73 77 65 5c 73 70 \sCRC\sas\swe\sp
05b0: 72 6f 67 72 65 73 73 2e 5c 72 5c 6e 5c 73 5c 73 rogress.\r\n\s\s
05c0: 5c 73 5c 73 5c 73 2a 2f 5c 72 5c 6e 5c 73 5c 73 \s\s\s*/\r\n\s\s
05d0: 5c 73 5c 73 5c 73 73 74 72 65 61 6d 2e 7a 61 6c \s\s\sstream.zal
05e0: 6c 6f 63 5c 73 3d 5c 73 28 61 6c 6c 6f 63 5f 66 loc\s=\s(alloc_f
05f0: 75 6e 63 29 30 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 unc)0;\r\n\s\s\s
0600: 5c 73 5c 73 73 74 72 65 61 6d 2e 7a 66 72 65 65 \s\sstream.zfree
0610: 5c 73 3d 5c 73 28 66 72 65 65 5f 66 75 6e 63 29 \s=\s(free_func)
0620: 30 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 0;\r\n\s\s\s\s\s
0630: 73 74 72 65 61 6d 2e 6f 70 61 71 75 65 5c 73 3d stream.opaque\s=
0640: 5c 73 30 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 \s0;\r\n\s\s\s\s
0650: 5c 73 73 74 72 65 61 6d 2e 61 76 61 69 6c 5f 69 \sstream.avail_i
0660: 6e 5c 73 3d 5c 73 62 6c 6f 62 5f 73 69 7a 65 28 n\s=\sblob_size(
0670: 70 46 69 6c 65 29 3b 5c 72 5c 6e 5c 73 5c 73 5c pFile);\r\n\s\s\
0680: 73 5c 73 5c 73 73 74 72 65 61 6d 2e 6e 65 78 74 s\s\sstream.next
0690: 5f 69 6e 5c 73 3d 5c 73 28 75 6e 73 69 67 6e 65 _in\s=\s(unsigne
06a0: 64 5c 73 63 68 61 72 2a 29 62 6c 6f 62 5f 62 75 d\schar*)blob_bu
06b0: 66 66 65 72 28 70 46 69 6c 65 29 3b 5c 72 5c 6e ffer(pFile);\r\n
06c0: 5c 73 5c 73 5c 73 5c 73 5c 73 73 74 72 65 61 6d \s\s\s\s\sstream
06d0: 2e 61 76 61 69 6c 5f 6f 75 74 5c 73 3d 5c 73 73 .avail_out\s=\ss
06e0: 69 7a 65 6f 66 28 7a 4f 75 74 42 75 66 29 3b 5c izeof(zOutBuf);\
06f0: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 73 74 72 r\n\s\s\s\s\sstr
0700: 65 61 6d 2e 6e 65 78 74 5f 6f 75 74 5c 73 3d 5c eam.next_out\s=\
0710: 73 28 75 6e 73 69 67 6e 65 64 5c 73 63 68 61 72 s(unsigned\schar
0720: 2a 29 7a 4f 75 74 42 75 66 3b 5c 72 5c 6e 2d 5c *)zOutBuf;\r\n-\
0730: 73 5c 73 5c 73 5c 73 64 65 66 6c 61 74 65 49 6e s\s\s\sdeflateIn
0740: 69 74 28 26 73 74 72 65 61 6d 2c 5c 73 39 29 3b it(&stream,\s9);
0750: 5c 72 5c 6e 2b 5c 73 5c 73 5c 73 5c 73 64 65 66 \r\n+\s\s\s\sdef
0760: 6c 61 74 65 49 6e 69 74 32 28 26 73 74 72 65 61 lateInit2(&strea
0770: 6d 2c 5c 73 39 2c 5c 73 5a 5f 44 45 46 4c 41 54 m,\s9,\sZ_DEFLAT
0780: 45 44 2c 5c 73 2d 4d 41 58 5f 57 42 49 54 53 2c ED,\s-MAX_WBITS,
0790: 5c 73 38 2c 5c 73 5a 5f 44 45 46 41 55 4c 54 5f \s8,\sZ_DEFAULT_
07a0: 53 54 52 41 54 45 47 59 29 3b 5c 72 5c 6e 5c 73 STRATEGY);\r\n\s
07b0: 5c 73 5c 73 5c 73 5c 73 69 43 52 43 5c 73 3d 5c \s\s\s\siCRC\s=\
07c0: 73 63 72 63 33 32 28 30 2c 5c 73 73 74 72 65 61 scrc32(0,\sstrea
07d0: 6d 2e 6e 65 78 74 5f 69 6e 2c 5c 73 73 74 72 65 m.next_in,\sstre
07e0: 61 6d 2e 61 76 61 69 6c 5f 69 6e 29 3b 5c 72 5c am.avail_in);\r\
07f0: 6e 5c 73 5c 73 5c 73 5c 73 5c 73 77 68 69 6c 65 n\s\s\s\s\swhile
0800: 28 5c 73 73 74 72 65 61 6d 2e 61 76 61 69 6c 5f (\sstream.avail_
0810: 69 6e 3e 30 5c 73 29 7b 5c 72 5c 6e 5c 73 5c 73 in>0\s){\r\n\s\s
0820: 5c 73 5c 73 5c 73 5c 73 5c 73 64 65 66 6c 61 74 \s\s\s\s\sdeflat
0830: 65 28 26 73 74 72 65 61 6d 2c 5c 73 30 29 3b 5c e(&stream,\s0);\
0840: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c r\n\s\s\s\s\s\s\
0850: 73 74 6f 4f 75 74 5c 73 3d 5c 73 73 69 7a 65 6f stoOut\s=\ssizeo
0860: 66 28 7a 4f 75 74 42 75 66 29 5c 73 2d 5c 73 73 f(zOutBuf)\s-\ss
0870: 74 72 65 61 6d 2e 61 76 61 69 6c 5f 6f 75 74 3b tream.avail_out;
0880: 5c 72 5c 6e 2d 5c 73 5c 73 5c 73 5c 73 5c 73 5c \r\n-\s\s\s\s\s\
0890: 73 69 66 28 5c 73 74 6f 4f 75 74 3e 73 6b 69 70 sif(\stoOut>skip
08a0: 5c 73 29 7b 5c 72 5c 6e 2d 5c 73 5c 73 5c 73 5c \s){\r\n-\s\s\s\
08b0: 73 5c 73 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 70 s\s\s\s\sblob_ap
08c0: 70 65 6e 64 28 26 62 6f 64 79 2c 5c 73 26 7a 4f pend(&body,\s&zO
08d0: 75 74 42 75 66 5b 73 6b 69 70 5d 2c 5c 73 74 6f utBuf[skip],\sto
08e0: 4f 75 74 5c 73 2d 5c 73 73 6b 69 70 29 3b 5c 72 Out\s-\sskip);\r
08f0: 5c 6e 2d 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c \n-\s\s\s\s\s\s\
0900: 73 5c 73 73 6b 69 70 5c 73 3d 5c 73 30 3b 5c 72 s\sskip\s=\s0;\r
0910: 5c 6e 2d 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 7d \n-\s\s\s\s\s\s}
0920: 65 6c 73 65 7b 5c 72 5c 6e 2d 5c 73 5c 73 5c 73 else{\r\n-\s\s\s
0930: 5c 73 5c 73 5c 73 5c 73 5c 73 73 6b 69 70 5c 73 \s\s\s\s\sskip\s
0940: 2d 3d 5c 73 74 6f 4f 75 74 3b 5c 72 5c 6e 2d 5c -=\stoOut;\r\n-\
0950: 73 5c 73 5c 73 5c 73 5c 73 5c 73 7d 5c 72 5c 6e s\s\s\s\s\s}\r\n
0960: 2b 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 62 6c 6f +\s\s\s\s\s\sblo
0970: 62 5f 61 70 70 65 6e 64 28 26 62 6f 64 79 2c 5c b_append(&body,\
0980: 73 7a 4f 75 74 42 75 66 2c 5c 73 74 6f 4f 75 74 szOutBuf,\stoOut
0990: 29 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 );\r\n\s\s\s\s\s
09a0: 5c 73 5c 73 73 74 72 65 61 6d 2e 61 76 61 69 6c \s\sstream.avail
09b0: 5f 6f 75 74 5c 73 3d 5c 73 73 69 7a 65 6f 66 28 _out\s=\ssizeof(
09c0: 7a 4f 75 74 42 75 66 29 3b 5c 72 5c 6e 5c 73 5c zOutBuf);\r\n\s\
09d0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 73 74 72 65 61 s\s\s\s\s\sstrea
09e0: 6d 2e 6e 65 78 74 5f 6f 75 74 5c 73 3d 5c 73 28 m.next_out\s=\s(
09f0: 75 6e 73 69 67 6e 65 64 5c 73 63 68 61 72 2a 29 unsigned\schar*)
0a00: 7a 4f 75 74 42 75 66 3b 5c 72 5c 6e 5c 73 5c 73 zOutBuf;\r\n\s\s
0a10: 5c 73 5c 73 5c 73 7d 5c 72 5c 6e 5c 73 5c 73 5c \s\s\s}\r\n\s\s\
0a20: 73 5c 73 5c 73 64 6f 7b 5c 72 5c 6e 5c 73 5c 73 s\s\sdo{\r\n\s\s
0a30: 5c 73 5c 73 5c 73 5c 73 5c 73 73 74 72 65 61 6d \s\s\s\s\sstream
0a40: 2e 61 76 61 69 6c 5f 6f 75 74 5c 73 3d 5c 73 73 .avail_out\s=\ss
0a50: 69 7a 65 6f 66 28 7a 4f 75 74 42 75 66 29 3b 5c izeof(zOutBuf);\
0a60: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c r\n\s\s\s\s\s\s\
0a70: 73 73 74 72 65 61 6d 2e 6e 65 78 74 5f 6f 75 74 sstream.next_out
0a80: 5c 73 3d 5c 73 28 75 6e 73 69 67 6e 65 64 5c 73 \s=\s(unsigned\s
0a90: 63 68 61 72 2a 29 7a 4f 75 74 42 75 66 3b 5c 72 char*)zOutBuf;\r
0aa0: 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 \n\s\s\s\s\s\s\s
0ab0: 64 65 66 6c 61 74 65 28 26 73 74 72 65 61 6d 2c deflate(&stream,
0ac0: 5c 73 5a 5f 46 49 4e 49 53 48 29 3b 5c 72 5c 6e \sZ_FINISH);\r\n
0ad0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 74 6f \s\s\s\s\s\s\sto
0ae0: 4f 75 74 5c 73 3d 5c 73 73 69 7a 65 6f 66 28 7a Out\s=\ssizeof(z
0af0: 4f 75 74 42 75 66 29 5c 73 2d 5c 73 73 74 72 65 OutBuf)\s-\sstre
0b00: 61 6d 2e 61 76 61 69 6c 5f 6f 75 74 3b 5c 72 5c am.avail_out;\r\
0b10: 6e 2d 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 69 66 n-\s\s\s\s\s\sif
0b20: 28 5c 73 74 6f 4f 75 74 3e 73 6b 69 70 5c 73 29 (\stoOut>skip\s)
0b30: 7b 5c 72 5c 6e 2d 5c 73 5c 73 5c 73 5c 73 5c 73 {\r\n-\s\s\s\s\s
0b40: 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 70 70 65 6e \s\s\sblob_appen
0b50: 64 28 26 62 6f 64 79 2c 5c 73 26 7a 4f 75 74 42 d(&body,\s&zOutB
0b60: 75 66 5b 73 6b 69 70 5d 2c 5c 73 74 6f 4f 75 74 uf[skip],\stoOut
0b70: 5c 73 2d 5c 73 73 6b 69 70 29 3b 5c 72 5c 6e 2d \s-\sskip);\r\n-
0b80: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 \s\s\s\s\s\s\s\s
0b90: 73 6b 69 70 5c 73 3d 5c 73 30 3b 5c 72 5c 6e 2d skip\s=\s0;\r\n-
0ba0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 7d 65 6c 73 \s\s\s\s\s\s}els
0bb0: 65 7b 5c 72 5c 6e 2d 5c 73 5c 73 5c 73 5c 73 5c e{\r\n-\s\s\s\s\
0bc0: 73 5c 73 5c 73 5c 73 73 6b 69 70 5c 73 2d 3d 5c s\s\s\sskip\s-=\
0bd0: 73 74 6f 4f 75 74 3b 5c 72 5c 6e 2d 5c 73 5c 73 stoOut;\r\n-\s\s
0be0: 5c 73 5c 73 5c 73 5c 73 7d 5c 72 5c 6e 2b 5c 73 \s\s\s\s}\r\n+\s
0bf0: 5c 73 5c 73 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 \s\s\s\s\sblob_a
0c00: 70 70 65 6e 64 28 26 62 6f 64 79 2c 5c 73 7a 4f ppend(&body,\szO
0c10: 75 74 42 75 66 2c 5c 73 74 6f 4f 75 74 29 3b 5c utBuf,\stoOut);\
0c20: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 7d 77 68 r\n\s\s\s\s\s}wh
0c30: 69 6c 65 28 5c 73 73 74 72 65 61 6d 2e 61 76 61 ile(\sstream.ava
0c40: 69 6c 5f 6f 75 74 3d 3d 30 5c 73 29 3b 5c 72 5c il_out==0\s);\r\
0c50: 6e 5c 73 5c 73 5c 73 5c 73 5c 73 6e 42 79 74 65 n\s\s\s\s\snByte
0c60: 5c 73 3d 5c 73 73 74 72 65 61 6d 2e 74 6f 74 61 \s=\sstream.tota
0c70: 6c 5f 69 6e 3b 5c 72 5c 6e 2d 5c 73 5c 73 5c 73 l_in;\r\n-\s\s\s
0c80: 5c 73 6e 42 79 74 65 43 6f 6d 70 72 5c 73 3d 5c \snByteCompr\s=\
0c90: 73 73 74 72 65 61 6d 2e 74 6f 74 61 6c 5f 6f 75 sstream.total_ou
0ca0: 74 5c 73 2d 5c 73 32 3b 5c 72 5c 6e 2b 5c 73 5c t\s-\s2;\r\n+\s\
0cb0: 73 5c 73 5c 73 6e 42 79 74 65 43 6f 6d 70 72 5c s\s\snByteCompr\
0cc0: 73 3d 5c 73 73 74 72 65 61 6d 2e 74 6f 74 61 6c s=\sstream.total
0cd0: 5f 6f 75 74 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c _out;\r\n\s\s\s\
0ce0: 73 5c 73 64 65 66 6c 61 74 65 45 6e 64 28 26 73 s\sdeflateEnd(&s
0cf0: 74 72 65 61 6d 29 3b 5c 72 5c 6e 5c 73 5c 72 5c tream);\r\n\s\r\
0d00: 6e 5c 73 5c 73 5c 73 5c 73 5c 73 2f 2a 5c 73 47 n\s\s\s\s\s/*\sG
0d10: 6f 5c 73 62 61 63 6b 5c 73 61 6e 64 5c 73 77 72 o\sback\sand\swr
0d20: 69 74 65 5c 73 74 68 65 5c 73 68 65 61 64 65 72 ite\sthe\sheader
0d30: 2c 5c 73 6e 6f 77 5c 73 74 68 61 74 5c 73 77 65 ,\snow\sthat\swe
0d40: 5c 73 6b 6e 6f 77 5c 73 74 68 65 5c 73 63 6f 6d \sknow\sthe\scom
0d50: 70 72 65 73 73 65 64 5c 73 66 69 6c 65 5c 73 73 pressed\sfile\ss
0d60: 69 7a 65 2e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 ize.\r\n\s\s\s\s
0d70: 5c 73 2a 2f 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 \s*/\r\n\s\s\s\s
0d80: 5c 73 7a 5c 73 3d 5c 73 26 62 6c 6f 62 5f 62 75 \sz\s=\s&blob_bu
0d90: 66 66 65 72 28 26 62 6f 64 79 29 5b 69 53 74 61 ffer(&body)[iSta
0da0: 72 74 5d 3b 5c 72 5c 6e 3c 2f 76 65 72 62 61 74 rt];\r\n</verbat
0db0: 69 6d 3e 0a 4b 20 39 32 33 61 39 31 32 33 30 39 im>.K 923a912309
0dc0: 36 61 65 37 30 65 35 36 35 35 35 38 61 32 37 34 6ae70e565558a274
0dd0: 35 32 32 66 65 63 63 35 63 37 33 37 37 31 0a 55 522fecc5c73771.U
0de0: 20 61 6e 6f 6e 79 6d 6f 75 73 0a 5a 20 64 39 34 anonymous.Z d94
0df0: 36 63 33 34 39 66 37 65 66 33 39 65 30 62 30 35 6c349f7ef39e0b05
0e00: 34 33 34 39 36 66 30 61 66 35 66 66 32 0a 43496f0af5ff2.