Got rid of assert() in structure.c by soft means
This commit is contained in:
parent
988622c3b6
commit
2403532242
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2006.10.07.175427"
|
#define Cdrskin_timestamP "2006.10.08.095016"
|
||||||
|
@ -373,7 +373,7 @@ Called by sector_toc() sector_pregap() sector_postgap() sector_lout()
|
|||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
28) libburn/sector.c: assert(0);
|
++ 28) libburn/sector.c: assert(0);
|
||||||
static char_to_isrc():
|
static char_to_isrc():
|
||||||
Called by subcode_user() with data set by API burn_track_set_isrc()
|
Called by subcode_user() with data set by API burn_track_set_isrc()
|
||||||
Some character conversion fails on wrong input
|
Some character conversion fails on wrong input
|
||||||
@ -383,6 +383,8 @@ Some character conversion fails on wrong input
|
|||||||
=> char_to_isrc() returns 0 as default
|
=> char_to_isrc() returns 0 as default
|
||||||
=> delete assert()
|
=> delete assert()
|
||||||
|
|
||||||
|
ts A61008
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
29) libburn/sector.c: assert(qmode == 1 || qmode == 2 || qmode == 3);
|
29) libburn/sector.c: assert(qmode == 1 || qmode == 2 || qmode == 3);
|
||||||
@ -472,7 +474,7 @@ The transfer of the command via ioctl() failed
|
|||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
37) libburn/spc.c: assert(d->mdata->valid);
|
++ 37) libburn/spc.c: assert(d->mdata->valid);
|
||||||
spc_select_error_params():
|
spc_select_error_params():
|
||||||
Drive was not properly programmed
|
Drive was not properly programmed
|
||||||
|
|
||||||
@ -480,12 +482,13 @@ alias struct burn_drive.send_parameters()
|
|||||||
Called by burn_disc_read, - defunct -
|
Called by burn_disc_read, - defunct -
|
||||||
|
|
||||||
: Severe Application Error
|
: Severe Application Error
|
||||||
(=> catch ! d->mdata->valid in burn_disc_read() )
|
=> moved up as mangled assert to burn_disc_read()
|
||||||
=> :)
|
|
||||||
|
ts A61007
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
38) libburn/spc.c: assert(d->mdata->cdr_write || d->mdata->cdrw_write ||
|
++ 38) libburn/spc.c: assert(d->mdata->cdr_write || d->mdata->cdrw_write ||
|
||||||
spc_sense_write_params():
|
spc_sense_write_params():
|
||||||
Drive does not offer write of any known media type
|
Drive does not offer write of any known media type
|
||||||
|
|
||||||
@ -495,9 +498,11 @@ Called by API burn_drive_grab (assert test made there in soft)
|
|||||||
: Severe Command Level Problem
|
: Severe Command Level Problem
|
||||||
=> remove assert()
|
=> remove assert()
|
||||||
|
|
||||||
|
ts A61007
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
39) libburn/spc.c: assert(o->drive == d);
|
++ 39) libburn/spc.c: assert(o->drive == d);
|
||||||
spc_select_write_params():
|
spc_select_write_params():
|
||||||
Drive does not match struct burn_write_opts
|
Drive does not match struct burn_write_opts
|
||||||
|
|
||||||
@ -509,9 +514,11 @@ Called by mmc_close_disc() (-defunct- ?), mmc_close_session() (-defunct- ?),
|
|||||||
: Severe Libburn Error
|
: Severe Libburn Error
|
||||||
=> remove assert()
|
=> remove assert()
|
||||||
|
|
||||||
|
ts A61007
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
40) libburn/spc.c: assert(d->mdata->valid);
|
++ 40) libburn/spc.c: assert(d->mdata->valid);
|
||||||
spc_select_write_params():
|
spc_select_write_params():
|
||||||
Drive was not properly programmed
|
Drive was not properly programmed
|
||||||
|
|
||||||
@ -520,9 +527,9 @@ Called by (see 39)
|
|||||||
burn_disc_write_sync() indirectly by API burn_disc_write()
|
burn_disc_write_sync() indirectly by API burn_disc_write()
|
||||||
|
|
||||||
: Severe Libburn Error
|
: Severe Libburn Error
|
||||||
=> catch in burn_disc_write()
|
=> caught in burn_disc_write() now
|
||||||
=> ? ignore command and issue LIBDAX_MSGS_SEV_SORRY ?
|
|
||||||
=> ? issue LIBDAX_MSGS_SEV_FATAL and shutdown libburn ?
|
ts A61007
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -542,7 +549,7 @@ ts A61007
|
|||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
42) libburn/structure.c: assert(!(pos > BURN_POS_END));\
|
++ 42) libburn/structure.c: assert(!(pos > BURN_POS_END));\
|
||||||
macro RESIZE
|
macro RESIZE
|
||||||
An illegal list index is given by the app.
|
An illegal list index is given by the app.
|
||||||
|
|
||||||
@ -550,9 +557,9 @@ An illegal list index is given by the app.
|
|||||||
Used by API burn_session_add_track() and API burn_disc_add_session()
|
Used by API burn_session_add_track() and API burn_disc_add_session()
|
||||||
|
|
||||||
: Severe Application Error
|
: Severe Application Error
|
||||||
=> catch in API burn_session_add_track() , API burn_disc_add_session()
|
=> replace assert by if-and-return-0
|
||||||
=> issue LIBDAX_MSGS_SEV_SORRY and return 0
|
|
||||||
=> delete assert
|
ts A61008
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -561,21 +568,26 @@ API burn_session_remove_track()
|
|||||||
An application supplied pointer is NULL
|
An application supplied pointer is NULL
|
||||||
|
|
||||||
: Severe Application Error
|
: Severe Application Error
|
||||||
=> issue LIBDAX_MSGS_SEV_SORRY and return 0
|
=> replace by if-and-return-0
|
||||||
=> delete assert
|
|
||||||
|
ts A61008
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
44) libburn/structure.c: assert((country[i] >= '0' || country[i] < '9') &&
|
++ 44) libburn/structure.c: assert((country[i] >= '0' || country[i] < '9') &&
|
||||||
libburn/structure.c: assert((owner[i] >= '0' || owner[i] < '9') &&
|
libburn/structure.c: assert((owner[i] >= '0' || owner[i] < '9') &&
|
||||||
libburn/structure.c: assert(year <= 99);
|
libburn/structure.c: assert(year <= 99);
|
||||||
libburn/structure.c: assert(serial <= 99999);
|
libburn/structure.c: assert(serial <= 99999);
|
||||||
API burn_track_set_isrc():
|
API burn_track_set_isrc():
|
||||||
Illegal texts supplied by application
|
Illegal texts supplied by application.
|
||||||
|
The logical expression is always true !
|
||||||
|
|
||||||
: Severe Application Error
|
: Severe Application Error
|
||||||
=> issue LIBDAX_MSGS_SEV_SORRY and return
|
=> issue LIBDAX_MSGS_SEV_SORRY and return
|
||||||
=> delete assert
|
=> delete assert
|
||||||
|
=> delete assert 28) in char_to_isrc()
|
||||||
|
|
||||||
|
ts A61008
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -319,6 +319,7 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff
|
|||||||
0x00020111 (FATAL,HIGH) = Could not allocate new auxiliary object
|
0x00020111 (FATAL,HIGH) = Could not allocate new auxiliary object
|
||||||
0x00020112 (SORRY,HIGH) = Bad combination of write_type and block_type
|
0x00020112 (SORRY,HIGH) = Bad combination of write_type and block_type
|
||||||
0x00020113 (FATAL,HIGH) = Drive capabilities not inquired yet
|
0x00020113 (FATAL,HIGH) = Drive capabilities not inquired yet
|
||||||
|
0x00020114 (SORRY,HIGH) = Attempt to set ISRC with bad data
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
@ -378,7 +378,9 @@ static char char_to_isrc(char c)
|
|||||||
return 0x11 + (c - 'A');
|
return 0x11 + (c - 'A');
|
||||||
if (c >= 'a' && c <= 'z')
|
if (c >= 'a' && c <= 'z')
|
||||||
return 0x11 + (c - 'a');
|
return 0x11 + (c - 'a');
|
||||||
assert(0);
|
|
||||||
|
/* ts A61008 : obsoleted by test in burn_track_set_isrc() */
|
||||||
|
/* a ssert(0); */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,10 @@
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <assert.h>
|
|
||||||
|
/* ts A61008 */
|
||||||
|
/* #include <a ssert.h> */
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "transport.h"
|
#include "transport.h"
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
#include <assert.h>
|
|
||||||
|
/* ts A61008 */
|
||||||
|
/* #include <a ssert.h> */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -7,10 +10,18 @@
|
|||||||
#include "write.h"
|
#include "write.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
|
#include "libdax_msgs.h"
|
||||||
|
extern struct libdax_msgs *libdax_messenger;
|
||||||
|
|
||||||
|
|
||||||
|
/* ts A61008 : replaced Assert by if and return 0 */
|
||||||
|
/* a ssert(!(pos > BURN_POS_END)); */
|
||||||
|
|
||||||
#define RESIZE(TO, NEW, pos) {\
|
#define RESIZE(TO, NEW, pos) {\
|
||||||
void *tmp;\
|
void *tmp;\
|
||||||
\
|
\
|
||||||
assert(!(pos > BURN_POS_END));\
|
if (pos > BURN_POS_END)\
|
||||||
|
return 0;\
|
||||||
if (pos == BURN_POS_END)\
|
if (pos == BURN_POS_END)\
|
||||||
pos = TO->NEW##s;\
|
pos = TO->NEW##s;\
|
||||||
if (pos > TO->NEW##s)\
|
if (pos > TO->NEW##s)\
|
||||||
@ -138,7 +149,10 @@ int burn_session_remove_track(struct burn_session *s, struct burn_track *t)
|
|||||||
struct burn_track **tmp;
|
struct burn_track **tmp;
|
||||||
int i, pos = -1;
|
int i, pos = -1;
|
||||||
|
|
||||||
assert(s->track != NULL);
|
/* ts A61008 */
|
||||||
|
/* a ssert(s->track != NULL); */
|
||||||
|
if (s->track == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
burn_track_free(t);
|
burn_track_free(t);
|
||||||
|
|
||||||
@ -203,23 +217,57 @@ void burn_track_set_isrc(struct burn_track *t, char *country, char *owner,
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
t->isrc.has_isrc = 1;
|
|
||||||
for (i = 0; i < 2; ++i) {
|
for (i = 0; i < 2; ++i) {
|
||||||
assert((country[i] >= '0' || country[i] < '9') &&
|
|
||||||
|
/* ts A61008 : This is always true */
|
||||||
|
/* a ssert((country[i] >= '0' || country[i] < '9') &&
|
||||||
(country[i] >= 'a' || country[i] < 'z') &&
|
(country[i] >= 'a' || country[i] < 'z') &&
|
||||||
(country[i] >= 'A' || country[i] < 'Z'));
|
(country[i] >= 'A' || country[i] < 'Z')); */
|
||||||
|
/* ts A61008 : now coordinated with sector.c: char_to_isrc() */
|
||||||
|
if (! ((country[i] >= '0' && country[i] <= '9') ||
|
||||||
|
(country[i] >= 'a' && country[i] <= 'z') ||
|
||||||
|
(country[i] >= 'A' && country[i] <= 'Z') ) )
|
||||||
|
goto is_not_allowed;
|
||||||
|
|
||||||
t->isrc.country[i] = country[i];
|
t->isrc.country[i] = country[i];
|
||||||
}
|
}
|
||||||
for (i = 0; i < 3; ++i) {
|
for (i = 0; i < 3; ++i) {
|
||||||
assert((owner[i] >= '0' || owner[i] < '9') &&
|
|
||||||
|
/* ts A61008 : This is always true */
|
||||||
|
/* a ssert((owner[i] >= '0' || owner[i] < '9') &&
|
||||||
(owner[i] >= 'a' || owner[i] < 'z') &&
|
(owner[i] >= 'a' || owner[i] < 'z') &&
|
||||||
(owner[i] >= 'A' || owner[i] < 'Z'));
|
(owner[i] >= 'A' || owner[i] < 'Z')); */
|
||||||
|
/* ts A61008 : now coordinated with sector.c: char_to_isrc() */
|
||||||
|
if (! ((owner[i] >= '0' && owner[i] <= '9') ||
|
||||||
|
(owner[i] >= 'a' && owner[i] <= 'z') ||
|
||||||
|
(owner[i] >= 'A' && owner[i] <= 'Z') ) )
|
||||||
|
goto is_not_allowed;
|
||||||
|
|
||||||
t->isrc.owner[i] = owner[i];
|
t->isrc.owner[i] = owner[i];
|
||||||
}
|
}
|
||||||
assert(year <= 99);
|
|
||||||
|
/* ts A61008 */
|
||||||
|
/* a ssert(year <= 99); */
|
||||||
|
if (year > 99)
|
||||||
|
goto is_not_allowed;
|
||||||
|
|
||||||
t->isrc.year = year;
|
t->isrc.year = year;
|
||||||
assert(serial <= 99999);
|
|
||||||
|
/* ts A61008 */
|
||||||
|
/* a ssert(serial <= 99999); */
|
||||||
|
if (serial > 99999)
|
||||||
|
goto is_not_allowed;
|
||||||
|
|
||||||
t->isrc.serial = serial;
|
t->isrc.serial = serial;
|
||||||
|
|
||||||
|
/* ts A61008 */
|
||||||
|
t->isrc.has_isrc = 1;
|
||||||
|
return;
|
||||||
|
is_not_allowed:;
|
||||||
|
libdax_msgs_submit(libdax_messenger, -1, 0x00020114,
|
||||||
|
LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH,
|
||||||
|
"Attempt to set ISRC with bad data", 0, 0);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void burn_track_clear_isrc(struct burn_track *t)
|
void burn_track_clear_isrc(struct burn_track *t)
|
||||||
|
Loading…
Reference in New Issue
Block a user