ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/commands.C
(Generate patch)

Comparing deliantra/server/server/commands.C (file contents):
Revision 1.6 by root, Thu Aug 31 17:54:15 2006 UTC vs.
Revision 1.10 by root, Thu Sep 14 19:08:40 2006 UTC

1
1/* 2/*
2 * static char *rcsid_commands_c = 3 * static char *rcsid_commands_c =
3 * "$Id: commands.C,v 1.6 2006/08/31 17:54:15 root Exp $"; 4 * "$Id: commands.C,v 1.10 2006/09/14 19:08:40 root Exp $";
4 */ 5 */
5 6
6/* 7/*
7 CrossFire, A Multiplayer game for X-windows 8 CrossFire, A Multiplayer game for X-windows
8 9
31 */ 32 */
32 33
33#include <global.h> 34#include <global.h>
34#include <commands.h> 35#include <commands.h>
35#ifndef __CEXTRACT__ 36#ifndef __CEXTRACT__
36#include <sproto.h> 37# include <sproto.h>
37#endif 38#endif
38#include <ctype.h> 39#include <ctype.h>
39 40
40/* Added times to all the commands. However, this was quickly done, 41/* Added times to all the commands. However, this was quickly done,
41 * and probably needs more refinements. All socket and DM commands 42 * and probably needs more refinements. All socket and DM commands
44 45
45/* 46/*
46 * Normal game commands 47 * Normal game commands
47 */ 48 */
48CommArray_s Commands[] = { 49CommArray_s Commands[] = {
49 {"save", command_save, 0.0}, 50 {"save", command_save, 0.0},
50 51
51 {"sound", command_sound, 0.0}, 52 {"sound", command_sound, 0.0},
52 {"party", command_party, 0.0}, 53 {"party", command_party, 0.0},
53 {"gsay", command_gsay, 1.0}, 54 {"gsay", command_gsay, 1.0},
54 55
55#ifdef DEBUG
56 {"sstable", command_sstable, 0.0},
57#endif
58 {"apply", command_apply, 1.0}, /* should be variable */ 56 {"apply", command_apply, 1.0}, /* should be variable */
59 {"applymode", command_applymode, 1.0}, /* should be variable */ 57 {"applymode", command_applymode, 1.0}, /* should be variable */
60 {"archs", command_archs, 0.0}, 58 {"archs", command_archs, 0.0},
61 {"body", command_body, 0.0}, 59 {"body", command_body, 0.0},
62 {"brace", command_brace, 0.0}, 60 {"brace", command_brace, 0.0},
63 {"cast", command_cast, 0.2}, /* Is this right? */ 61 {"cast", command_cast, 0.2}, /* Is this right? */
64 {"disarm", command_disarm, 1.0}, 62 {"disarm", command_disarm, 1.0},
65 {"dm", command_dm, 0.0}, 63 {"dm", command_dm, 0.0},
66 {"dmhide", command_dmhide, 0.0}, /* Like dm, but don't tell a dm arrived, hide player */ 64 {"dmhide", command_dmhide, 0.0}, /* Like dm, but don't tell a dm arrived, hide player */
67 {"drop", command_drop, 1.0}, 65 {"drop", command_drop, 1.0},
68 {"dropall", command_dropall, 1.0}, 66 {"dropall", command_dropall, 1.0},
69 {"examine", command_examine, 0.5}, 67 {"examine", command_examine, 0.5},
70 {"explore", command_explore, 0.0}, 68 {"explore", command_explore, 0.0},
71 {"fix_me", command_fix_me, 0.0}, 69 {"fix_me", command_fix_me, 0.0},
72 {"get", command_take, 1.0}, 70 {"get", command_take, 1.0},
73 {"help", command_help, 0.0}, 71 {"help", command_help, 0.0},
74 {"hiscore", command_hiscore, 0.0}, 72 {"hiscore", command_hiscore, 0.0},
75 {"inventory", command_inventory,0.0}, 73 {"inventory", command_inventory, 0.0},
76 {"invoke", command_invoke, 1.0}, 74 {"invoke", command_invoke, 1.0},
77 {"killpets", command_kill_pets,0.0}, 75 {"killpets", command_kill_pets, 0.0},
78 {"listen", command_listen, 0.0}, 76 {"listen", command_listen, 0.0},
79 {"logs", command_logs, 0.0}, 77 {"logs", command_logs, 0.0},
80 {"maps", command_maps, 0.0}, 78 {"maps", command_maps, 0.0},
81 {"mapinfo", command_mapinfo, 0.0}, 79 {"mapinfo", command_mapinfo, 0.0},
82 {"mark", command_mark, 0.0}, 80 {"mark", command_mark, 0.0},
83 {"motd", command_motd, 0.0}, 81 {"motd", command_motd, 0.0},
84 {"output-sync", command_output_sync, 0.0}, 82 {"output-sync", command_output_sync, 0.0},
85 {"output-count", command_output_count,0.0}, 83 {"output-count", command_output_count, 0.0},
86 {"peaceful", command_peaceful,0.0}, 84 {"peaceful", command_peaceful, 0.0},
87 {"pickup", command_pickup, 1.0}, 85 {"pickup", command_pickup, 1.0},
88 {"prepare", command_prepare, 1.0}, 86 {"prepare", command_prepare, 1.0},
89 {"quit", command_quit, 0.0}, 87 {"quit", command_quit, 0.0},
90 {"quit_character", command_real_quit, 0.0}, 88 {"quit_character", command_real_quit, 0.0},
91 {"rename", command_rename_item, 0.0},
92 {"resistances", command_resistances, 0.0}, 89 {"resistances", command_resistances, 0.0},
93 {"rotateshoottype", command_rotateshoottype, 0.0}, 90 {"rotateshoottype", command_rotateshoottype, 0.0},
94 {"skills", command_skills, 0.0}, /* shows player list of skills */ 91 {"skills", command_skills, 0.0}, /* shows player list of skills */
95 {"use_skill", command_uskill, 1.0}, 92 {"use_skill", command_uskill, 1.0},
96 {"quests", command_quests, 0.0},
97 {"ready_skill", command_rskill, 1.0}, 93 {"ready_skill", command_rskill, 1.0},
98 {"search",command_search, 1.0}, 94 {"search", command_search, 1.0},
99 {"search-items", command_search_items, 0.0}, 95 {"search-items", command_search_items, 0.0},
100 {"showpets", command_showpets, 1.0}, 96 {"showpets", command_showpets, 1.0},
101 {"statistics", command_statistics, 0.0}, 97 {"statistics", command_statistics, 0.0},
102 {"strings", command_strings, 0.0},
103 {"take", command_take, 1.0}, 98 {"take", command_take, 1.0},
104 {"throw", command_throw, 1.0}, 99 {"throw", command_throw, 1.0},
105 {"time", command_time, 0.0}, 100 {"time", command_time, 0.0},
106 {"weather", command_weather, 0.0}, 101 {"weather", command_weather, 0.0},
107 {"whereabouts", command_whereabouts, 0.0}, 102 {"whereabouts", command_whereabouts, 0.0},
108 {"whereami", command_whereami, 0.0}, 103 {"whereami", command_whereami, 0.0},
109 {"title", command_title, 0.0}, 104 {"title", command_title, 0.0},
110 {"usekeys", command_usekeys, 0.0}, 105 {"usekeys", command_usekeys, 0.0},
111 {"bowmode", command_bowmode, 0.0}, 106 {"bowmode", command_bowmode, 0.0},
112 {"petmode", command_petmode, 0.0}, 107 {"petmode", command_petmode, 0.0},
113 {"version", command_version, 0.0}, 108 {"version", command_version, 0.0},
114 {"wimpy", command_wimpy, 0.0}, 109 {"wimpy", command_wimpy, 0.0},
115 {"who", command_who, 0.0}, 110 {"who", command_who, 0.0},
116 {"afk", command_afk, 0.0}, 111 {"afk", command_afk, 0.0},
117 112
118 {"stay", command_stay, 1.0}, /* 1.0 because it is used when using a 113 {"stay", command_stay, 1.0}, /* 1.0 because it is used when using a
119 * skill on yourself */ 114 * skill on yourself */
120 {"north", command_north, 1.0}, 115 {"north", command_north, 1.0},
121 {"east", command_east, 1.0}, 116 {"east", command_east, 1.0},
122 {"south", command_south, 1.0}, 117 {"south", command_south, 1.0},
123 {"west", command_west, 1.0}, 118 {"west", command_west, 1.0},
124 {"northeast", command_northeast, 1.0}, 119 {"northeast", command_northeast, 1.0},
125 {"southeast", command_southeast, 1.0}, 120 {"southeast", command_southeast, 1.0},
126 {"southwest", command_southwest, 1.0}, 121 {"southwest", command_southwest, 1.0},
127 {"northwest", command_northwest, 1.0}, 122 {"northwest", command_northwest, 1.0},
128}; 123};
129 124
130const int CommandsSize =sizeof(Commands) / sizeof(CommArray_s); 125const int CommandsSize = sizeof (Commands) / sizeof (CommArray_s);
131 126
132CommArray_s CommunicationCommands [] = { 127CommArray_s CommunicationCommands[] = {
133 /* begin emotions */ 128 /* begin emotions */
134 {"me", command_me, 0.1}, 129 {"me", command_me, 0.1}
130 ,
135 {"nod", command_nod, 0.0}, 131 {"nod", command_nod, 0.0}
132 ,
136 {"dance", command_dance, 0.0}, 133 {"dance", command_dance, 0.0}
134 ,
137 {"kiss", command_kiss, 0.0}, 135 {"kiss", command_kiss, 0.0}
136 ,
138 {"bounce", command_bounce, 0.0}, 137 {"bounce", command_bounce, 0.0}
138 ,
139 {"smile", command_smile, 0.0}, 139 {"smile", command_smile, 0.0}
140 ,
140 {"cackle", command_cackle, 0.0}, 141 {"cackle", command_cackle, 0.0}
142 ,
141 {"laugh", command_laugh, 0.0}, 143 {"laugh", command_laugh, 0.0}
144 ,
142 {"giggle", command_giggle, 0.0}, 145 {"giggle", command_giggle, 0.0}
146 ,
143 {"shake", command_shake, 0.0}, 147 {"shake", command_shake, 0.0}
148 ,
144 {"puke", command_puke, 0.0}, 149 {"puke", command_puke, 0.0}
150 ,
145 {"growl", command_growl, 0.0}, 151 {"growl", command_growl, 0.0}
152 ,
146 {"scream", command_scream, 0.0}, 153 {"scream", command_scream, 0.0}
154 ,
147 {"sigh", command_sigh, 0.0}, 155 {"sigh", command_sigh, 0.0}
156 ,
148 {"sulk", command_sulk, 0.0}, 157 {"sulk", command_sulk, 0.0}
158 ,
149 {"hug", command_hug, 0.0}, 159 {"hug", command_hug, 0.0}
160 ,
150 {"cry", command_cry, 0.0}, 161 {"cry", command_cry, 0.0}
162 ,
151 {"poke", command_poke, 0.0}, 163 {"poke", command_poke, 0.0}
164 ,
152 {"accuse", command_accuse, 0.0}, 165 {"accuse", command_accuse, 0.0}
166 ,
153 {"grin", command_grin, 0.0}, 167 {"grin", command_grin, 0.0}
168 ,
154 {"bow", command_bow, 0.0}, 169 {"bow", command_bow, 0.0}
170 ,
155 {"clap", command_clap, 0.0}, 171 {"clap", command_clap, 0.0}
172 ,
156 {"blush", command_blush, 0.0}, 173 {"blush", command_blush, 0.0}
174 ,
157 {"burp", command_burp, 0.0}, 175 {"burp", command_burp, 0.0}
176 ,
158 {"chuckle", command_chuckle, 0.0}, 177 {"chuckle", command_chuckle, 0.0}
178 ,
159 {"cough", command_cough, 0.0}, 179 {"cough", command_cough, 0.0}
180 ,
160 {"flip", command_flip, 0.0}, 181 {"flip", command_flip, 0.0}
182 ,
161 {"frown", command_frown, 0.0}, 183 {"frown", command_frown, 0.0}
184 ,
162 {"gasp", command_gasp, 0.0}, 185 {"gasp", command_gasp, 0.0}
186 ,
163 {"glare", command_glare, 0.0}, 187 {"glare", command_glare, 0.0}
188 ,
164 {"groan", command_groan, 0.0}, 189 {"groan", command_groan, 0.0}
190 ,
165 {"hiccup", command_hiccup, 0.0}, 191 {"hiccup", command_hiccup, 0.0}
192 ,
166 {"lick", command_lick, 0.0}, 193 {"lick", command_lick, 0.0}
194 ,
167 {"pout", command_pout, 0.0}, 195 {"pout", command_pout, 0.0}
196 ,
168 {"shiver", command_shiver, 0.0}, 197 {"shiver", command_shiver, 0.0}
198 ,
169 {"shrug", command_shrug, 0.0}, 199 {"shrug", command_shrug, 0.0}
200 ,
170 {"slap", command_slap, 0.0}, 201 {"slap", command_slap, 0.0}
202 ,
171 {"smirk", command_smirk, 0.0}, 203 {"smirk", command_smirk, 0.0}
204 ,
172 {"snap", command_snap, 0.0}, 205 {"snap", command_snap, 0.0}
206 ,
173 {"sneeze", command_sneeze, 0.0}, 207 {"sneeze", command_sneeze, 0.0}
208 ,
174 {"snicker", command_snicker, 0.0}, 209 {"snicker", command_snicker, 0.0}
210 ,
175 {"sniff", command_sniff, 0.0}, 211 {"sniff", command_sniff, 0.0}
212 ,
176 {"snore", command_snore, 0.0}, 213 {"snore", command_snore, 0.0}
214 ,
177 {"spit", command_spit, 0.0}, 215 {"spit", command_spit, 0.0}
216 ,
178 {"strut", command_strut, 0.0}, 217 {"strut", command_strut, 0.0}
218 ,
179 {"thank", command_thank, 0.0}, 219 {"thank", command_thank, 0.0}
220 ,
180 {"twiddle", command_twiddle, 0.0}, 221 {"twiddle", command_twiddle, 0.0}
222 ,
181 {"wave", command_wave, 0.0}, 223 {"wave", command_wave, 0.0}
224 ,
182 {"whistle", command_whistle, 0.0}, 225 {"whistle", command_whistle, 0.0}
226 ,
183 {"wink", command_wink, 0.0}, 227 {"wink", command_wink, 0.0}
228 ,
184 {"yawn", command_yawn, 0.0}, 229 {"yawn", command_yawn, 0.0}
230 ,
185 {"beg", command_beg, 0.0}, 231 {"beg", command_beg, 0.0}
232 ,
186 {"bleed", command_bleed, 0.0}, 233 {"bleed", command_bleed, 0.0}
234 ,
187 {"cringe", command_cringe, 0.0}, 235 {"cringe", command_cringe, 0.0}
236 ,
188 {"think", command_think, 0.0}, 237 {"think", command_think, 0.0}
238 ,
189 {"cointoss", command_cointoss, 0.0}, 239 {"cointoss", command_cointoss, 0.0}
240 ,
190 {"orcknuckle", command_orcknuckle, 0.0}, 241 {"orcknuckle", command_orcknuckle, 0.0}
242 ,
191 {"printlos", command_printlos,0.0}, 243 {"printlos", command_printlos, 0.0}
244 ,
192}; 245};
193 246
194const int CommunicationCommandSize = sizeof(CommunicationCommands)/ sizeof(CommArray_s); 247const int CommunicationCommandSize = sizeof (CommunicationCommands) / sizeof (CommArray_s);
195 248
196CommArray_s NewServerCommands [] = { 249CommArray_s NewServerCommands[] = {
197 {"run", command_run, 1.0}, 250 {"run", command_run, 1.0}
251 ,
198 {"run_stop", command_run_stop, 0.0}, 252 {"run_stop", command_run_stop, 0.0}
253 ,
199 {"fire", command_fire, 1.0}, 254 {"fire", command_fire, 1.0}
255 ,
200 {"fire_stop", command_fire_stop, 0.0} 256 {"fire_stop", command_fire_stop, 0.0}
201}; 257};
202 258
203const int NewServerCommandSize = sizeof(NewServerCommands)/ sizeof(CommArray_s); 259const int NewServerCommandSize = sizeof (NewServerCommands) / sizeof (CommArray_s);
204 260
205/* 261/*
206 * Wizard commands (for both) 262 * Wizard commands (for both)
207 */ 263 */
208CommArray_s WizCommands [] = { 264CommArray_s WizCommands[] = {
209 {"abil", command_abil,0.0}, 265 {"abil", command_abil, 0.0}
266 ,
210 {"addexp", command_addexp,0.0}, 267 {"addexp", command_addexp, 0.0}
268 ,
211 {"arrest", command_arrest,0.0}, 269 {"arrest", command_arrest, 0.0}
270 ,
212 {"banish", command_banish,0.0}, 271 {"banish", command_banish, 0.0}
272 ,
213 {"create", command_create,0.0}, 273 {"create", command_create, 0.0}
274 ,
214 {"debug", command_debug,0.0}, 275 {"debug", command_debug, 0.0}
276 ,
215 {"dump", command_dump,0.0}, 277 {"dump", command_dump, 0.0}
278 ,
216 {"dumpbelow", command_dumpbelow,0.0}, 279 {"dumpbelow", command_dumpbelow, 0.0}
280 ,
217 {"dumpfriendlyobjects", command_dumpfriendlyobjects,0.0}, 281 {"dumpfriendlyobjects", command_dumpfriendlyobjects, 0.0}
282 ,
218 {"dumpallarchetypes", command_dumpallarchetypes,0.0}, 283 {"dumpallarchetypes", command_dumpallarchetypes, 0.0}
284 ,
219 {"dumpallmaps", command_dumpallmaps,0.0}, 285 {"dumpallmaps", command_dumpallmaps, 0.0}
286 ,
220 {"dumpallobjects", command_dumpallobjects,0.0}, 287 {"dumpallobjects", command_dumpallobjects, 0.0}
288 ,
221 {"dumpmap", command_dumpmap,0.0}, 289 {"dumpmap", command_dumpmap, 0.0}
290 ,
222 {"forget_spell", command_forget_spell, 0.0}, 291 {"forget_spell", command_forget_spell, 0.0}
292 ,
223 {"free", command_free,0.0}, 293 {"free", command_free, 0.0}
294 ,
224 {"freeze", command_freeze,0.0}, 295 {"freeze", command_freeze, 0.0}
296 ,
225 {"goto", command_goto,0.0}, 297 {"goto", command_goto, 0.0}
298 ,
226 {"hide", command_hide,0.0}, 299 {"hide", command_hide, 0.0}
300 ,
227 {"insert_into", command_insert_into,0.0}, 301 {"insert_into", command_insert_into, 0.0}
302 ,
228 {"invisible", command_invisible,0.0}, 303 {"invisible", command_invisible, 0.0}
304 ,
229 {"kick", command_kick, 0.0}, 305 {"kick", command_kick, 0.0}
306 ,
230 {"learn_special_prayer", command_learn_special_prayer, 0.0}, 307 {"learn_special_prayer", command_learn_special_prayer, 0.0}
308 ,
231 {"learn_spell", command_learn_spell, 0.0}, 309 {"learn_spell", command_learn_spell, 0.0}
310 ,
232#ifdef DEBUG_MALLOC_LEVEL 311#ifdef DEBUG_MALLOC_LEVEL
233 {"verify", command_malloc_verify,0.0}, 312 {"verify", command_malloc_verify, 0.0}
313 ,
234#endif 314#endif
235 {"malloc", command_malloc,0.0},
236 {"players", command_players, 0.0}, 315 {"players", command_players, 0.0}
316 ,
237 {"plugin",command_loadplugin,0.0}, 317 {"plugin", command_loadplugin, 0.0}
318 ,
238 {"pluglist",command_listplugins,0.0}, 319 {"pluglist", command_listplugins, 0.0}
320 ,
239 {"plugout",command_unloadplugin,0.0}, 321 {"plugout", command_unloadplugin, 0.0}
322 ,
240 {"nodm", command_nowiz,0.0}, 323 {"nodm", command_nowiz, 0.0}
324 ,
241 {"nowiz", command_nowiz,0.0}, 325 {"nowiz", command_nowiz, 0.0}
326 ,
242 {"patch", command_patch,0.0}, 327 {"patch", command_patch, 0.0}
328 ,
243 {"remove", command_remove,0.0}, 329 {"remove", command_remove, 0.0}
330 ,
244 {"reset", command_reset,0.0}, 331 {"reset", command_reset, 0.0}
332 ,
245 {"set_god", command_setgod, 0.0}, 333 {"set_god", command_setgod, 0.0}
334 ,
246 {"shutdown", command_shutdown, 0.0}, 335 {"shutdown", command_shutdown, 0.0}
247 {"ssdumptable", command_ssdumptable,0.0}, 336 ,
248 {"stack_clear", command_stack_clear, 0.0 }, 337 {"stack_clear", command_stack_clear, 0.0}
338 ,
249 {"stack_list", command_stack_list, 0.0}, 339 {"stack_list", command_stack_list, 0.0}
340 ,
250 {"stack_pop", command_stack_pop, 0.0 }, 341 {"stack_pop", command_stack_pop, 0.0}
342 ,
251 {"stack_push", command_stack_push, 0.0 }, 343 {"stack_push", command_stack_push, 0.0}
344 ,
252 {"stats", command_stats,0.0}, 345 {"stats", command_stats, 0.0}
253 {"style_info", command_style_map_info, 0.0}, /* Costly command, so make it wiz only */ 346 ,
347 {"style_info", command_style_map_info, 0.0}
348 , /* Costly command, so make it wiz only */
254 {"summon", command_summon,0.0}, 349 {"summon", command_summon, 0.0}
350 ,
255 {"teleport", command_teleport,0.0}, 351 {"teleport", command_teleport, 0.0}
352 ,
256 {"wizpass", command_wizpass,0.0}, 353 {"wizpass", command_wizpass, 0.0}
354 ,
257 {"wizcast", command_wizcast,0.0}, 355 {"wizcast", command_wizcast, 0.0}
356 ,
258 {"overlay_save", command_save_overlay, 0.0}, 357 {"overlay_save", command_save_overlay, 0.0}
358 ,
359
259/* {"possess", command_possess, 0.0}, */ 360/* {"possess", command_possess, 0.0}, */
260 {"mon_aggr", command_mon_aggr, 0.0}, 361 {"mon_aggr", command_mon_aggr, 0.0}
362 ,
261 {"loadtest", command_loadtest, 0.0}, 363 {"loadtest", command_loadtest, 0.0}
364 ,
262}; 365};
263const int WizCommandsSize =sizeof(WizCommands) / sizeof(CommArray_s); 366const int WizCommandsSize = sizeof (WizCommands) / sizeof (CommArray_s);
264 367
265/* Socket commands - these should really do nothing more than output things 368/* Socket commands - these should really do nothing more than output things
266 * to the various players/sockets. 369 * to the various players/sockets.
267 */ 370 */
268CommArray_s Socket_Commands[] = { 371CommArray_s Socket_Commands[] = {
269 {"hiscore", command_hiscore, 0.0}, 372 {"hiscore", command_hiscore, 0.0}
373 ,
270 {"logs", command_logs, 0.0}, 374 {"logs", command_logs, 0.0}
375 ,
271 {"maps", command_maps, 0.0}, 376 {"maps", command_maps, 0.0}
377 ,
272 {"motd", command_motd, 0.0}, 378 {"motd", command_motd, 0.0}
379 ,
273 {"players", command_players, 0.0}, 380 {"players", command_players, 0.0}
381 ,
274 {"version", command_version, 0.0}, 382 {"version", command_version, 0.0}
383 ,
275 {"who", command_who, 0.0}, 384 {"who", command_who, 0.0}
385 ,
276}; 386};
277 387
278const int Socket_CommandsSize =sizeof(Socket_Commands) / sizeof(CommArray_s); 388const int Socket_CommandsSize = sizeof (Socket_Commands) / sizeof (CommArray_s);
279 389
280 390
281/* Socket commands - these should really do nothing more than output things 391/* Socket commands - these should really do nothing more than output things
282 * to the various players/sockets. 392 * to the various players/sockets.
283 */ 393 */
284CommArray_s Socket2_Commands[] = { 394CommArray_s Socket2_Commands[] = {
285}; 395};
286 396
287const int Socket2_CommandsSize =sizeof(Socket2_Commands) / sizeof(CommArray_s); 397const int Socket2_CommandsSize = sizeof (Socket2_Commands) / sizeof (CommArray_s);
288 398
289 399
290 400
401static int
291static int compare_A(const void *a, const void *b) 402compare_A (const void *a, const void *b)
292{ 403{
293 return strcmp(((CommArray_s *)a)->name, ((CommArray_s *)b)->name); 404 return strcmp (((CommArray_s *) a)->name, ((CommArray_s *) b)->name);
294} 405}
295 406
407void
296void init_commands(void) 408init_commands (void)
297{ 409{
298 qsort(Commands, CommandsSize, sizeof(CommArray_s), compare_A); 410 qsort (Commands, CommandsSize, sizeof (CommArray_s), compare_A);
299 qsort(CommunicationCommands, CommunicationCommandSize, sizeof(CommArray_s), compare_A); 411 qsort (CommunicationCommands, CommunicationCommandSize, sizeof (CommArray_s), compare_A);
300 qsort(NewServerCommands, NewServerCommandSize, sizeof(CommArray_s), compare_A); 412 qsort (NewServerCommands, NewServerCommandSize, sizeof (CommArray_s), compare_A);
301 qsort(WizCommands, WizCommandsSize, sizeof(CommArray_s), compare_A); 413 qsort (WizCommands, WizCommandsSize, sizeof (CommArray_s), compare_A);
302 qsort(Socket_Commands, Socket_CommandsSize, sizeof(CommArray_s), compare_A); 414 qsort (Socket_Commands, Socket_CommandsSize, sizeof (CommArray_s), compare_A);
303 qsort(Socket2_Commands, Socket2_CommandsSize, sizeof(CommArray_s), compare_A); 415 qsort (Socket2_Commands, Socket2_CommandsSize, sizeof (CommArray_s), compare_A);
304} 416}
305 417
306#ifndef tolower 418#ifndef tolower
307#define tolower(C) (((C) >= 'A' && (C) <= 'Z')? (C) - 'A' + 'a': (C)) 419# define tolower(C) (((C) >= 'A' && (C) <= 'Z')? (C) - 'A' + 'a': (C))
308#endif 420#endif
309 421
310 422
423CommFunc
311CommFunc find_oldsocket_command(char *cmd) 424find_oldsocket_command (char *cmd)
312{ 425{
313 CommArray_s *asp, dummy; 426 CommArray_s *asp, dummy;
314 char *cp; 427 char *cp;
315 428
316 for (cp=cmd; *cp; cp++) { 429 for (cp = cmd; *cp; cp++)
430 {
317 *cp =tolower(*cp); 431 *cp = tolower (*cp);
318 } 432 }
319 433
320 dummy.name =cmd; 434 dummy.name = cmd;
321 asp =(CommArray_s *)bsearch((void *)&dummy, 435 asp = (CommArray_s *) bsearch ((void *) &dummy, (void *) Socket_Commands, Socket_CommandsSize, sizeof (CommArray_s), compare_A);
322 (void *)Socket_Commands, Socket_CommandsSize,
323 sizeof(CommArray_s), compare_A);
324 if (asp) 436 if (asp)
325 return asp->func; 437 return asp->func;
326 return NULL; 438 return NULL;
327} 439}
328 440
441CommFunc
329CommFunc find_oldsocket_command2(char *cmd) 442find_oldsocket_command2 (char *cmd)
330{ 443{
331 CommArray_s *asp, dummy; 444 CommArray_s *asp, dummy;
332 char *cp; 445 char *cp;
333 446
334 for (cp=cmd; *cp; cp++) { 447 for (cp = cmd; *cp; cp++)
448 {
335 *cp =tolower(*cp); 449 *cp = tolower (*cp);
336 } 450 }
337 451
338 dummy.name =cmd; 452 dummy.name = cmd;
339 asp =(CommArray_s *)bsearch((void *)&dummy, 453 asp = (CommArray_s *) bsearch ((void *) &dummy, (void *) Socket2_Commands, Socket2_CommandsSize, sizeof (CommArray_s), compare_A);
340 (void *)Socket2_Commands, Socket2_CommandsSize,
341 sizeof(CommArray_s), compare_A);
342 if (asp) 454 if (asp)
343 return asp->func; 455 return asp->func;
344 return NULL; 456 return NULL;
345} 457}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines