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 /src | |
| parent | e53992a807a714f73a17cec33d96b2494a4373ba (diff) | |
implement the zip code override
Diffstat (limited to 'src')
| -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 ); | 
