Expanded new API call iso_write_opts_set_scdbackup_tag

This commit is contained in:
2009-09-17 16:41:54 +02:00
parent c992687200
commit 6bf538ff40
4 changed files with 32 additions and 8 deletions

View File

@@ -707,7 +707,7 @@ int iso_md5_write_scdbackup_tag(Ecma119Image *t, char *tag_block, int flag)
void *ctx = NULL;
off_t pos = 0, line_start;
int record_len, block_len, res, i;
char postext[20], md5[16], record[160];
char postext[40], md5[16], record[160];
line_start = strlen(tag_block);
iso_md5_compute(t->checksum_ctx, tag_block, line_start);
@@ -721,14 +721,14 @@ int iso_md5_write_scdbackup_tag(Ecma119Image *t, char *tag_block, int flag)
sprintf(postext, "%u%9.9u", (unsigned int) (pos / 1000000000),
(unsigned int) (pos % 1000000000));
else
sprintf(postext, "%u", (unsigned int) pos),
sprintf(postext, "%u", (unsigned int) pos);
sprintf(record, "%s %s ", t->scdbackup_tag_parm, postext);
record_len = strlen(record);
for (i = 0; i < 16; i++)
sprintf(record + record_len + 2 * i,
"%2.2x", ((unsigned char *) md5)[i]);
record_len+= 32;
record_len += 32;
res = iso_md5_start(&ctx);
if (res < 0)
goto ex;
@@ -744,6 +744,9 @@ int iso_md5_write_scdbackup_tag(Ecma119Image *t, char *tag_block, int flag)
block_len+= 32;
tag_block[block_len++]= '\n';
if (t->scdbackup_tag_written != NULL)
strncpy(t->scdbackup_tag_written, tag_block + line_start,
block_len - line_start);
res = ISO_SUCCESS;
ex:;
if (ctx != NULL)