comparison io.c @ 796:41f73c76b978

Fix some memory issues
author =?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
date Sun, 26 Jul 2015 11:00:25 -0700
parents 0565b2c1a034
children 9f149f0e98b7
comparison
equal deleted inserted replaced
795:bce97fc0bb8a 796:41f73c76b978
338 } 338 }
339 339
340 int parse_binding_target(char * target, tern_node * padbuttons, int * ui_out, int * padnum_out, int * padbutton_out) 340 int parse_binding_target(char * target, tern_node * padbuttons, int * ui_out, int * padnum_out, int * padbutton_out)
341 { 341 {
342 int gpadslen = strlen("gamepads."); 342 int gpadslen = strlen("gamepads.");
343 if (!memcmp(target, "gamepads.", gpadslen)) { 343 if (!strncmp(target, "gamepads.", gpadslen)) {
344 if (target[gpadslen] >= '1' && target[gpadslen] <= '8') { 344 if (target[gpadslen] >= '1' && target[gpadslen] <= '8') {
345 int padnum = target[gpadslen] - '0'; 345 int padnum = target[gpadslen] - '0';
346 int button = tern_find_int(padbuttons, target + gpadslen + 1, 0); 346 int button = tern_find_int(padbuttons, target + gpadslen + 1, 0);
347 if (button) { 347 if (button) {
348 *padnum_out = padnum; 348 *padnum_out = padnum;
356 } 356 }
357 } 357 }
358 } else { 358 } else {
359 fprintf(stderr, "Gamepad mapping string '%s' refers to an invalid gamepad number %c\n", target, target[gpadslen]); 359 fprintf(stderr, "Gamepad mapping string '%s' refers to an invalid gamepad number %c\n", target, target[gpadslen]);
360 } 360 }
361 } else if(!memcmp(target, "ui.", strlen("ui."))) { 361 } else if(!strncmp(target, "ui.", strlen("ui."))) {
362 *padbutton_out = 0; 362 *padbutton_out = 0;
363 if (!strcmp(target + 3, "vdp_debug_mode")) { 363 if (!strcmp(target + 3, "vdp_debug_mode")) {
364 *ui_out = UI_DEBUG_MODE_INC; 364 *ui_out = UI_DEBUG_MODE_INC;
365 } else if(!strcmp(target + 3, "vdp_debug_pal")) { 365 } else if(!strcmp(target + 3, "vdp_debug_pal")) {
366 *ui_out = UI_DEBUG_PAL_INC; 366 *ui_out = UI_DEBUG_PAL_INC;
367 } else if(!strcmp(target + 3, "enter_debugger")) { 367 } else if(!strcmp(target + 3, "enter_debugger")) {
368 *ui_out = UI_ENTER_DEBUGGER; 368 *ui_out = UI_ENTER_DEBUGGER;
369 } else if(!strcmp(target + 3, "save_state")) { 369 } else if(!strcmp(target + 3, "save_state")) {
370 *ui_out = UI_SAVE_STATE; 370 *ui_out = UI_SAVE_STATE;
371 } else if(!memcmp(target + 3, "set_speed.", strlen("set_speed."))) { 371 } else if(!strncmp(target + 3, "set_speed.", strlen("set_speed."))) {
372 *ui_out = UI_SET_SPEED; 372 *ui_out = UI_SET_SPEED;
373 *padbutton_out = atoi(target + 3 + strlen("set_speed.")); 373 *padbutton_out = atoi(target + 3 + strlen("set_speed."));
374 } else if(!strcmp(target + 3, "next_speed")) { 374 } else if(!strcmp(target + 3, "next_speed")) {
375 *ui_out = UI_NEXT_SPEED; 375 *ui_out = UI_NEXT_SPEED;
376 } else if(!strcmp(target + 3, "prev_speed")) { 376 } else if(!strcmp(target + 3, "prev_speed")) {