pdl.h.PL (PDL-2.078) | : | pdl.h.PL (PDL-2.079) | ||
---|---|---|---|---|
skipping to change at line 591 | skipping to change at line 591 | |||
if(!p##__c->next) break; \ | if(!p##__c->next) break; \ | |||
p##__c=p##__c->next; \ | p##__c=p##__c->next; \ | |||
} while(1); | } while(1); | |||
#define PDL_USESTRUCTVALUE(it) \ | #define PDL_USESTRUCTVALUE(it) \ | |||
(it->nbytes <= sizeof(it->value)) | (it->nbytes <= sizeof(it->value)) | |||
#define PDLMAX(a,b) ((a) > (b) ? (a) : (b)) | #define PDLMAX(a,b) ((a) > (b) ? (a) : (b)) | |||
#define PDLMIN(a,b) ((a) < (b) ? (a) : (b)) | #define PDLMIN(a,b) ((a) < (b) ? (a) : (b)) | |||
/*************** | ||||
* Some macros to guard against dataflow infinite recursion. | ||||
*/ | ||||
#define DECL_RECURSE_GUARD static int __nrec=0; | ||||
#define START_RECURSE_GUARD __nrec++; if(__nrec > 1000) {__nrec=0; return pdl_ma | ||||
ke_error_simple(PDL_EUSERERROR, "PDL:Internal Error: data structure recursion li | ||||
mit exceeded (max 1000 levels)\n\tThis could mean that you have found an infinit | ||||
e-recursion error in PDL, or\n\tthat you are building data structures with very | ||||
long dataflow dependency\n\tchains. You may want to try using sever() to break | ||||
the dependency.\n");} | ||||
#define ABORT_RECURSE_GUARD __nrec=0; | ||||
#define END_RECURSE_GUARD __nrec--; | ||||
#define PDL_RETERROR2(rv, expr, iferr) \ | #define PDL_RETERROR2(rv, expr, iferr) \ | |||
do { rv = expr; if (rv.error) { iferr } } while (0) | do { rv = expr; if (rv.error) { iferr } } while (0) | |||
#define PDL_RETERROR(rv, expr) PDL_RETERROR2(rv, expr, return rv;) | #define PDL_RETERROR(rv, expr) PDL_RETERROR2(rv, expr, return rv;) | |||
#define PDL_ACCUMERROR(rv, expr) rv = pdl_error_accumulate(rv, expr) | #define PDL_ACCUMERROR(rv, expr) rv = pdl_error_accumulate(rv, expr) | |||
#define PDL_ENSURE_ALLOCATED(it) \ | #define PDL_ENSURE_ALLOCATED(it) \ | |||
if (!(it->state & PDL_ALLOCATED)) { \ | if (!(it->state & PDL_ALLOCATED)) { \ | |||
PDL_RETERROR(PDL_err, pdl_allocdata(it)); \ | PDL_RETERROR(PDL_err, pdl_allocdata(it)); \ | |||
} | } | |||
End of changes. 1 change blocks. | ||||
13 lines changed or deleted | 0 lines changed or added |