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 ); |