*** v3.4/VERSIONS: 26. July 2001, Kevin Belanger, Programmer/Analyst, Timber Supply Branch, Ministry of Forests *** Summary of Changes: =========================== v3.4 (03.MAY.2001) 1) - removed arbitrary override of trace.rep generation 2) - fixed all sscanf calls which erroneously passed the address of a character array v3.4b (26.JULY.2001) 3) - repaired dependencies, merged list_defs.h and list.h, moved list_new.c to list.c, - ported c-code from the Sun c-compiler to the Gnu c-compiler (gcc-3.0), - inlined code for efficiency and compiled for speed optimization Details of Each Change: ======================= v3.4 (03.MAY.2001) 1) - removed arbitrary override of trace.rep generation (see following code excerpt for detail) // harvest.c // ... void harvest(int period) { // ... printf("\nPeriod : %3d - Harvesting", period); // Kevin Belanger: 03.MAY.2001 // removed arbitrary override of trace.rep generation /* if ( period >= 24 ) { EnableTrace = TRUE; } else { EnableTrace = FALSE; } */ 2) - fixed all sscanf calls which erroneously passed the address of a character array (this is an error since the name of a character array is by definition a pointer to its first element (i.e., the address of the first character of the string)) (see following code excerpt as an example of changes) /* data.c */ /* ... */ void data_read_class(char *datadir) { /* ... */ count = sscanf(dataline, "%s %s %s %s %s %s %s", /* bug fix - patch v3.0.2b (03.MAY.2001) explanation: a char array name is by definition a pointer to its first element and, so, its name (not its address) should be passed to std::sscanf!!! &inzonestr, &inaustr, &inblockstr, &inagestr, &inareastr, &inctype, &inreversionagestr); */ inzonestr, inaustr, inblockstr, inagestr, inareastr, inctype, inreversionagestr); v3.4b (26.JULY.2001) 3) - isolated and repaired dependencies, merged list_defs.h and list.h, moved list_new.c to list.c, - ported c-code from the Sun c-compiler to the Gnu c-compiler (gcc-3.0) - inlined code (using extern inline) for efficiency and compiled with gcc optimization flag -O3 (see ~/docs/fss3.0/v3.4/CHANGES directory for details of code differences) Summary of Previous Version 3.x Changes: ======================================== v3.0 v3.0a - changed DUMMYINPUT value; fixed group target bug reported by Tim Bogle (bug had to do with initialising targets to -2 instead of DUMMYINPUT; when comparing values in harvest_volume_constraints(), float comparison was failing, so FSSIM thought -2 was a valid, specified target level. Result was that 0.0 harvest was being performed in this unit); v3.0.1b - Dave Waddell's test version (many undocumented features) NOT for general consumption.