[Fix] Avoid some other possible seg faults.
This commit is contained in:
		
							parent
							
								
									71f4ce95d2
								
							
						
					
					
						commit
						5ae72bcacd
					
				@ -14,6 +14,7 @@
 | 
			
		||||
#include "map.h"
 | 
			
		||||
#include "escort.h"
 | 
			
		||||
#include "land.h"
 | 
			
		||||
#include "lstd.h"
 | 
			
		||||
#include "input.h"
 | 
			
		||||
 | 
			
		||||
#define KEY_PRESS   ( 1.) /**< Key is pressed. */
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								src/lstd.h
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								src/lstd.h
									
									
									
									
									
								
							@ -1,5 +1,6 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include <SDL/SDL.h>
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Check to see if k is in ascii area.
 | 
			
		||||
@ -26,3 +27,13 @@
 | 
			
		||||
 */
 | 
			
		||||
#define lstd_isspace(k) (lstd_checkascii(k) ? isspace(k) : 0)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Convert a key to lowercase if applicable.
 | 
			
		||||
 */
 | 
			
		||||
#define lstd_tolower(k) (lstd_checkascii(k) ? (SDLKey)tolower(k) : k)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Convert a key to uppercase if applicable.
 | 
			
		||||
 */
 | 
			
		||||
#define lstd_toupper(k) (lstd_checkascii(k) ? (SDLKey)toupper(k) : k)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -68,7 +68,7 @@ void opt_menuKeybinds(void) {
 | 
			
		||||
      case KEYBIND_KEYBOARD:
 | 
			
		||||
        /* SDL_GetKeyName returns lowercase which is ugly. */
 | 
			
		||||
        if(lstd_isalpha(key))
 | 
			
		||||
          snprintf(str[j], 64, "%s <%c>", keybindNames[j], toupper(key));
 | 
			
		||||
          snprintf(str[j], 64, "%s <%c>", keybindNames[j], lstd_toupper(key));
 | 
			
		||||
        else
 | 
			
		||||
          snprintf(str[j], 64, "%s <%s>", keybindNames[j], SDL_GetKeyName(key));
 | 
			
		||||
        break;
 | 
			
		||||
@ -152,7 +152,7 @@ static void menuKeybinds_update(unsigned int wid, char* name) {
 | 
			
		||||
        snprintf(bind, 32, "keyboard:   %s%s%c",
 | 
			
		||||
            (mod != KMOD_NONE) ? modToText(mod) : "",
 | 
			
		||||
            (mod != KMOD_NONE) ? " + " : "",
 | 
			
		||||
            toupper(key));
 | 
			
		||||
            lstd_toupper(key));
 | 
			
		||||
      else
 | 
			
		||||
        snprintf(bind, 32, "keyboard:   %s%s%s",
 | 
			
		||||
            (mod != KMOD_NONE) ? modToText(mod) : "",
 | 
			
		||||
 | 
			
		||||
@ -1994,7 +1994,7 @@ static int toolkit_inputInput(Uint8 type, Widget* inp, SDLKey key) {
 | 
			
		||||
 | 
			
		||||
      /* Uppder case characters. */
 | 
			
		||||
      else if(lstd_isalpha(key) && (mods & (KMOD_LSHIFT | KMOD_RSHIFT)))
 | 
			
		||||
        inp->dat.inp.input[inp->dat.inp.pos++] = toupper(key);
 | 
			
		||||
        inp->dat.inp.input[inp->dat.inp.pos++] = lstd_toupper(key);
 | 
			
		||||
 | 
			
		||||
      /* Rest. */
 | 
			
		||||
      else if(!lstd_iscntrl(key))
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user