diff --git a/genisoimage/exclude.c b/genisoimage/exclude.c index 759bf35..dcaf224 100644 --- a/genisoimage/exclude.c +++ b/genisoimage/exclude.c @@ -39,7 +39,7 @@ exclude(char *fn) { register int i; - for (i = 0; excl[i] && i < MAXEXCL; i++) + for (i = 0; i < MAXEXCL && excl[i]; i++) ; if (i == MAXEXCL) { @@ -69,7 +69,7 @@ is_excluded(char *fn) /* * very dumb search method ... */ - for (i = 0; excl[i] && i < MAXEXCL; i++) { + for (i = 0; i < MAXEXCL && excl[i]; i++) { if (strcmp(excl[i], fn) == 0) { return (1); /* found -> excluded filenmae */ } diff --git a/genisoimage/exclude.c.werror_gcc5 b/genisoimage/exclude.c.werror_gcc5 new file mode 100644 index 0000000..759bf35 --- /dev/null +++ b/genisoimage/exclude.c.werror_gcc5 @@ -0,0 +1,78 @@ +/* + * This file has been modified for the cdrkit suite. + * + * The behaviour and appearence of the program code below can differ to a major + * extent from the version distributed by the original author(s). + * + * For details, see Changelog file distributed with the cdrkit package. If you + * received this file from another source then ask the distributing person for + * a log of modifications. + * + */ + +/* @(#)exclude.c 1.9 04/03/04 joerg */ +/* + * 9-Dec-93 R.-D. Marzusch, marzusch@odiehh.hanse.de: + * added 'exclude' option (-x) to specify pathnames NOT to be included in + * CD image. + */ + +#include +#include +#include +#include +#include +#include + + +/* this allows for 1000 entries to be excluded ... */ +#define MAXEXCL 1000 + +static char *excl[MAXEXCL]; + +void exclude(char *fn); +int is_excluded(char *fn); + + +void +exclude(char *fn) +{ + register int i; + + for (i = 0; excl[i] && i < MAXEXCL; i++) + ; + + if (i == MAXEXCL) { + fprintf(stderr, + "Can't exclude '%s' - too many entries in table\n", + fn); + return; + } + excl[i] = (char *) malloc(strlen(fn) + 1); + if (excl[i] == NULL) { +#ifdef USE_LIBSCHILY + errmsg("Can't allocate memory for excluded filename\n"); +#else + fprintf(stderr, + "Can't allocate memory for excluded filename\n"); +#endif + return; + } + strcpy(excl[i], fn); +} + +int +is_excluded(char *fn) +{ + register int i; + + /* + * very dumb search method ... + */ + for (i = 0; excl[i] && i < MAXEXCL; i++) { + if (strcmp(excl[i], fn) == 0) { + return (1); /* found -> excluded filenmae */ + } + } + return (0); /* not found -> not excluded */ +}