Hex Artifact Content
Not logged in

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.