Commit c12bbff7 authored by Thomas Schmitt's avatar Thomas Schmitt

Created opportunity to omit source module libburn/crc.c

parent 6db992e6
#define Cdrskin_timestamP "2010.02.14.084452"
#define Cdrskin_timestamP "2010.02.14.171833"
......@@ -3,7 +3,21 @@
#ifndef BURN__CRC_H
#define BURN__CRC_H
#ifdef Xorriso_standalonE
/* Do not use source module crc.c of yet unclear ancestry in GNU xorriso */
#ifndef Libburn_no_crc_C
#define Libburn_no_crc_C 1
#endif
#endif
#ifndef Libburn_no_crc_C
unsigned short crc_ccitt(unsigned char *, int len);
unsigned int crc_32(unsigned char *, int len);
#endif /* Libburn_no_crc_C */
#endif /* BURN__CRC_H */
......@@ -100,7 +100,13 @@ drive, or only store a subset of the _opts structs in drives */
fakesub[20] = 2;
fakesub[12] = (d->toc->toc_entry[0].control << 4) +
d->toc->toc_entry[0].adr;
#ifdef Libburn_no_crc_C
crc = 0; /* dummy */
#else
crc = crc_ccitt(fakesub + 12, 10);
#endif
fakesub[22] = crc >> 8;
fakesub[23] = crc & 0xFF;
write(o->subfd, fakesub, 96);
......@@ -247,6 +253,8 @@ void burn_packet_process(struct burn_drive *d, unsigned char *data,
}
}
crc = (*(sub + 22) << 8) + *(sub + 23);
#ifndef Libburn_no_crc_C
if (crc != crc_ccitt(sub + 12, 10)) {
burn_print(1, "sending error on %s %s\n",
d->idata->vendor, d->idata->product);
......@@ -255,6 +263,8 @@ void burn_packet_process(struct burn_drive *d, unsigned char *data,
*/
burn_print(1, "crc mismatch in Q\n");
}
#endif
/* else process_q(d, sub + 12); */
/*
if (o->subfd != -1) write(o->subfd, sub, 96); */
......
......@@ -411,7 +411,13 @@ a2 - lout ctrl
q[7] = dec_to_bcd(d->toc_entry[track].pmin);
q[8] = dec_to_bcd(d->toc_entry[track].psec);
q[9] = dec_to_bcd(d->toc_entry[track].pframe);
#ifdef Libburn_no_crc_C
crc = 0; /* dummy */
#else
crc = crc_ccitt(q, 10);
#endif
q[10] = crc >> 8;
q[11] = crc & 0xFF;
d->toc_temp++;
......@@ -508,7 +514,13 @@ static void subcode_lout(struct burn_write_opts *o, unsigned char control,
q[7] = dec_to_bcd(min);
q[8] = dec_to_bcd(sec);
q[9] = dec_to_bcd(frame);
#ifdef Libburn_no_crc_C
crc = 0; /* dummy */
#else
crc = crc_ccitt(q, 10);
#endif
q[10] = crc >> 8;
q[11] = crc & 0xFF;
}
......@@ -628,7 +640,13 @@ void subcode_user(struct burn_write_opts *o, unsigned char *subcodes,
}
q[0] = (control << 4) + qmode;
#ifdef Libburn_no_crc_C
crc = 0; /* dummy */
#else
crc = crc_ccitt(q, 10);
#endif
q[10] = crc >> 8;
q[11] = crc & 0xff;
}
......@@ -774,7 +792,13 @@ int sector_headers(struct burn_write_opts *o, unsigned char *out,
out[15] = modebyte;
}
if (mode & BURN_MODE1) {
#ifdef Libburn_no_crc_C
crc = 0; /* dummy */
#else
crc = crc_32(out, 2064);
#endif
out[2064] = crc & 0xFF;
crc >>= 8;
out[2065] = crc & 0xFF;
......
......@@ -39,7 +39,6 @@
#include "libburn.h"
#include "drive.h"
#include "transport.h"
#include "crc.h"
#include "debug.h"
#include "init.h"
#include "toc.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment