Changeset 564
- Timestamp:
- May 3, 2004, 2:59:18 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/archive/pslib/bin/makeErrorCodes (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/archive/pslib/bin/makeErrorCodes
r321 r564 4 4 # 5 5 $cfile = $hfile = undef; # Output filenames (.{c,h}) 6 $indent = 4; # number of spaces to indent 7 $prefix = "PS_ERR"; # Prefix for enums 6 $prefix = "ps"; # Prefix for enums 8 7 $verbose = 0; # be chatty? 9 8 # … … 36 35 shift(@ARGV); 37 36 } 37 38 $prefix = lc("$prefix"); # e.g. ps 39 $PREFIX = uc("$prefix"); # PS 40 38 41 39 42 if (!defined($cfile) && !defined($hfile)) { … … 70 73 #print "$_\n"; 71 74 72 ($name, undef, $val, $descrip) = /^\s*([^ \t]+)\s*(=\s*(\d+))?\s*, \s*(.*)/;75 ($name, undef, $val, $descrip) = /^\s*([^ \t]+)\s*(=\s*(\d+))?\s*,?\s*(.*)/; 73 76 74 77 push(@names,$name); … … 78 81 } 79 82 80 close(FD); 81 # 82 # And an entry for the total number of error codes 83 # 84 $name = "N_ERR_CLASSES"; 85 $values{$name} = undef; 86 $descrips{$name} = undef; 87 88 push(@names, $name); 83 close(FD) 89 84 # 90 85 # Generate .c file … … 98 93 * please do not modify it 99 94 */ 95 #include "psError.h" 96 #include "${prefix}ErrorCodes.h" 100 97 101 static struct { 102 psErrorCode code; 103 char *descrip; 104 } errorStrings[] = { 98 void ${prefix}ErrorRegister(void) 99 { 100 static psErrorDescription errors[] = { 105 101 EOT 106 102 107 foreach $name (@names) {108 printf FD "%*s{ ${prefix}_%s, ", $indent, "", $name;109 if (defined($descrips{$name})) {110 printf FD "\"%s\"", $descrips{$name};111 } else {112 printf FD "NULL";113 }114 printf FD "},\n";103 foreach $name (@names) { 104 printf FD " { ${PREFIX}_ERR_%s, ", $name; 105 if (defined($descrips{$name})) { 106 printf FD "\"%s\"", $descrips{$name}; 107 } else { 108 printf FD "NULL"; 109 } 110 printf FD " },\n"; 115 111 } 116 112 113 114 $names = @names; 117 115 print FD <<"EOT"; 118 }; 116 }; 117 static int nerror = $names; // number of values in enum 118 119 p_psErrorRegister(errors, nerror); 120 nerror = 0; // don't register more than once 121 } 119 122 EOT 120 123 } … … 126 129 127 130 print FD <<"EOT"; 128 #if !defined( PS_ERROR_CODES_H)129 #define PS_ERROR_CODES_H131 #if !defined(${PREFIX}_ERROR_CODES_H) 132 #define ${PREFIX}_ERROR_CODES_H 130 133 /* 131 134 * This file was machine generated from $input_files; … … 136 139 137 140 foreach $name (@names) { 138 printf FD " %*s${prefix}_%s", $indent, "", $name;141 printf FD " ${PREFIX}_ERR_%s", $name; 139 142 if (defined($values{$name})) { 140 143 printf FD " = %d", $values{$name}; … … 144 147 145 148 print FD <<"EOT"; 146 } psErrorCode; 149 } ${prefix}ErrorCode; 150 151 void ${prefix}ErrorRegister(void); 147 152 148 153 #endif … … 167 172 -c file.c Generate file.c 168 173 -h file.h Generate file.h 169 -p prefix Change enum prefix from PS_ERR to \"prefix\"174 -p prefix Change enum prefix from ps/PS to \"prefix/PREFIX\" 170 175 -v Be chatty (repeat for even more output) 171 176 ";
Note:
See TracChangeset
for help on using the changeset viewer.
