Remove some hard-coded array dimensions. Generate CLSSES at compile time.

(How did this ever even work without 'extern'?)
This commit is contained in:
Jason S. Ninneman 2017-06-12 11:02:16 -07:00 committed by Eric S. Raymond
parent 90b9b84797
commit 6b75d87797
3 changed files with 10 additions and 7 deletions

View file

@ -582,7 +582,6 @@ void write_files(FILE* c_file, FILE* header_file)
// content variables
write_0d(c_file, header_file, LINUSE, "LINUSE");
write_0d(c_file, header_file, TRVS, "TRVS");
write_0d(c_file, header_file, CLSSES, "CLSSES");
write_0d(c_file, header_file, TRNVLS, "TRNVLS");
write_0d(c_file, header_file, TABNDX, "TABNDX");
write_0d(c_file, header_file, HNTMAX, "HNTMAX");

View file

@ -1298,3 +1298,5 @@ char* turn_threshold_messages[] = {
"Are you still at it? Five points off for exceeding 1000 turns!",
"Good grief, don\'t you *EVER* give up? Do you realize you\'ve spent\nover 2500 turns at this? That\'s another ten points off, a total of\ntwenty points lost for taking so long.",
};
size_t CLSSES = sizeof(class_messages) / sizeof(class_messages[0]);

14
newdb.h
View file

@ -3,9 +3,11 @@ typedef struct {
char** longs;
} object_description_s;
char* long_location_descriptions[186];
char* short_location_descriptions[186];
object_description_s object_descriptions[101];
char* arbitrary_messages[278];
char* class_messages[13];
char* turn_threshold_messages[6];
extern char* long_location_descriptions[];
extern char* short_location_descriptions[];
extern object_description_s object_descriptions[];
extern char* arbitrary_messages[];
extern char* class_messages[];
extern char* turn_threshold_messages[];
extern size_t CLSSES;