| | @@ -94,19 +94,19 @@ |
| 94 | 94 | goto manifest_syntax_error; |
| 95 | 95 | } |
| 96 | 96 | if( seenHeader ){ |
| 97 | 97 | break; |
| 98 | 98 | } |
| 99 | | - while( blob_line(pContent, &line)>1 ){} |
| 99 | + while( blob_line(pContent, &line)>2 ){} |
| 100 | 100 | if( blob_line(pContent, &line)==0 ) break; |
| 101 | 101 | z = blob_buffer(&line); |
| 102 | 102 | } |
| 103 | 103 | seenHeader = 1; |
| 104 | 104 | if( blob_token(&line, &token)!=1 ) goto manifest_syntax_error; |
| 105 | 105 | if( z[0]=='F' ){ |
| 106 | 106 | char *zName, *zUuid; |
| 107 | | - md5sum_step_text(blob_buffer(&line), blob_size(&line)+1); |
| 107 | + md5sum_step_text(blob_buffer(&line), blob_size(&line)); |
| 108 | 108 | if( blob_token(&line, &a1)==0 ) goto manifest_syntax_error; |
| 109 | 109 | if( blob_token(&line, &a2)==0 ) goto manifest_syntax_error; |
| 110 | 110 | if( blob_token(&line, &a3)!=0 ) goto manifest_syntax_error; |
| 111 | 111 | zName = blob_terminate(&a1); |
| 112 | 112 | zUuid = blob_terminate(&a2); |
| | @@ -126,41 +126,41 @@ |
| 126 | 126 | p->aFile[i].zUuid = zUuid; |
| 127 | 127 | if( i>0 && strcmp(p->aFile[i-1].zName, zName)>=0 ){ |
| 128 | 128 | goto manifest_syntax_error; |
| 129 | 129 | } |
| 130 | 130 | }else if( z[0]=='C' ){ |
| 131 | | - md5sum_step_text(blob_buffer(&line), blob_size(&line)+1); |
| 131 | + md5sum_step_text(blob_buffer(&line), blob_size(&line)); |
| 132 | 132 | if( p->zComment!=0 ) goto manifest_syntax_error; |
| 133 | 133 | if( blob_token(&line, &a1)==0 ) goto manifest_syntax_error; |
| 134 | 134 | if( blob_token(&line, &a2)!=0 ) goto manifest_syntax_error; |
| 135 | 135 | p->zComment = blob_terminate(&a1); |
| 136 | 136 | defossilize(p->zComment); |
| 137 | 137 | }else if( z[0]=='D' ){ |
| 138 | 138 | char *zDate; |
| 139 | | - md5sum_step_text(blob_buffer(&line), blob_size(&line)+1); |
| 139 | + md5sum_step_text(blob_buffer(&line), blob_size(&line)); |
| 140 | 140 | if( p->rDate!=0.0 ) goto manifest_syntax_error; |
| 141 | 141 | if( blob_token(&line, &a1)==0 ) goto manifest_syntax_error; |
| 142 | 142 | if( blob_token(&line, &a2)!=0 ) goto manifest_syntax_error; |
| 143 | 143 | zDate = blob_terminate(&a1); |
| 144 | 144 | p->rDate = db_double(0.0, "SELECT julianday(%Q)", zDate); |
| 145 | 145 | }else if( z[0]=='U' ){ |
| 146 | | - md5sum_step_text(blob_buffer(&line), blob_size(&line)+1); |
| 146 | + md5sum_step_text(blob_buffer(&line), blob_size(&line)); |
| 147 | 147 | if( p->zUser!=0 ) goto manifest_syntax_error; |
| 148 | 148 | if( blob_token(&line, &a1)==0 ) goto manifest_syntax_error; |
| 149 | 149 | if( blob_token(&line, &a2)!=0 ) goto manifest_syntax_error; |
| 150 | 150 | p->zUser = blob_terminate(&a1); |
| 151 | 151 | defossilize(p->zUser); |
| 152 | 152 | }else if( z[0]=='R' ){ |
| 153 | | - md5sum_step_text(blob_buffer(&line), blob_size(&line)+1); |
| 153 | + md5sum_step_text(blob_buffer(&line), blob_size(&line)); |
| 154 | 154 | if( p->zRepoCksum!=0 ) goto manifest_syntax_error; |
| 155 | 155 | if( blob_token(&line, &a1)==0 ) goto manifest_syntax_error; |
| 156 | 156 | if( blob_token(&line, &a2)!=0 ) goto manifest_syntax_error; |
| 157 | 157 | if( blob_size(&a1)!=32 ) goto manifest_syntax_error; |
| 158 | 158 | p->zRepoCksum = blob_terminate(&a1); |
| 159 | 159 | if( !validate16(p->zRepoCksum, 32) ) goto manifest_syntax_error; |
| 160 | 160 | }else if( z[0]=='P' ){ |
| 161 | | - md5sum_step_text(blob_buffer(&line), blob_size(&line)+1); |
| 161 | + md5sum_step_text(blob_buffer(&line), blob_size(&line)); |
| 162 | 162 | while( blob_token(&line, &a1) ){ |
| 163 | 163 | char *zUuid; |
| 164 | 164 | if( blob_size(&a1)!=UUID_SIZE ) goto manifest_syntax_error; |
| 165 | 165 | zUuid = blob_terminate(&a1); |
| 166 | 166 | if( !validate16(zUuid, UUID_SIZE) ) goto manifest_syntax_error; |
| 167 | 167 | |