diff options
| author | Dirk Engling <erdgeist@erdgeist.org> | 2015-05-15 00:50:33 +0200 |
|---|---|---|
| committer | Dirk Engling <erdgeist@erdgeist.org> | 2015-05-15 00:50:33 +0200 |
| commit | 2465d2d3af2612998dfc2318564b4788f2e4bd94 (patch) | |
| tree | d98c04c05af7da9892a539a0d61afe534f6983e6 | |
| parent | e53992a807a714f73a17cec33d96b2494a4373ba (diff) | |
implement the zip code override
| -rw-r--r-- | src/export/split_version_2.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/export/split_version_2.c b/src/export/split_version_2.c index 4a5d1b8..64c3eee 100644 --- a/src/export/split_version_2.c +++ b/src/export/split_version_2.c | |||
| @@ -52,9 +52,9 @@ | |||
| 52 | enum { g_outfiles = 17 }; | 52 | enum { g_outfiles = 17 }; |
| 53 | static enum { CD_NO = 0, CD_S = 1, CD_W = 2 } g_cd; | 53 | static enum { CD_NO = 0, CD_S = 1, CD_W = 2 } g_cd; |
| 54 | static int g_outfilemap[3][29] = { | 54 | static int g_outfilemap[3][29] = { |
| 55 | {-1,-1,-1, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11, 6,-1,16, 5,13,12, 8,10, 3, 9,-1,-1, 7,14 }, | 55 | {-1,-1,-1, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11, 6,-1,16, 5,13,12, 8,10, 1, 9,-1,-1, 7,14 }, |
| 56 | {-1,-1,-1, 0,-1,-1,-1,-1,-1,-1,-1,-1,11,-1, 6, 5,-1,-1,16, 8,10,11, 3, 9,13,-1,12, 7,14 }, | 56 | {-1,-1,-1, 0,-1,-1,-1,-1,-1,-1,-1,-1,11,-1, 6, 5,-1,-1,16, 8,10,11, 1, 9,13,-1,12, 7,14 }, |
| 57 | {-1,-1,-1, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,13, 6,16, 5, 8,10, 3, 9,12,-1,-1,11, 7,14 } | 57 | {-1,-1,-1, 0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,13, 6,16, 5, 8,10, 1, 9,12,-1,-1,11, 7,14 } |
| 58 | }; | 58 | }; |
| 59 | 59 | ||
| 60 | static struct { | 60 | static struct { |
| @@ -117,15 +117,18 @@ static void dump_primary( uint8_t *end, uint32_t flags ) { | |||
| 117 | if this is the first line of a continuation. | 117 | if this is the first line of a continuation. |
| 118 | */ | 118 | */ |
| 119 | 119 | ||
| 120 | /* Dump first 5 chars of zip, they're always there */ | 120 | /* Dump first 5 chars of zip, they're always there. The extra |
| 121 | dump_string( end -= 5, 5, 1 ); | 121 | zip overrides if flag is set */ |
| 122 | end -= 5; | ||
| 123 | if( !(flags & 0x0080) ) | ||
| 124 | dump_string( end, 5, 1 ); | ||
| 122 | 125 | ||
| 123 | /* Dump first 5 chars of prefix, they're always here in s and w */ | 126 | /* Dump first 5 chars of prefix, they're always here in s and w */ |
| 124 | if( g_cd != CD_NO ) | 127 | if( g_cd != CD_NO ) |
| 125 | dump_string( end -= 5, 5, 2 ); | 128 | dump_string( end -= 5, 5, 2 ); |
| 126 | 129 | ||
| 127 | /* There is another version of the zip code present, if this bit is set */ | 130 | /* There is an override version of the zip code present, if this bit is set */ |
| 128 | if( flags & 0x0080 ) dump_string( end -= 5, 5, 3 ); | 131 | if( flags & 0x0080 ) dump_string( end -= 5, 5, 1 ); |
| 129 | 132 | ||
| 130 | /* There is an unclear X present, if this bit is set */ | 133 | /* There is an unclear X present, if this bit is set */ |
| 131 | if( flags & 0x0040 ) dump_string( end -= 1, 1, 4 ); | 134 | if( flags & 0x0040 ) dump_string( end -= 1, 1, 4 ); |
