xkb: Fix case checks for Latin 8.
Spotted by -Wlogical-op: | CC xkbfmisc.lo | xkbfmisc.c: In function '_XkbKSCheckCase': | xkbfmisc.c:104:3: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] | xkbfmisc.c:118:3: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] A quick look at the keysymdef.h file (from xproto) suggests the implementor chose to use interval checks to determine the case, but since lines weren't sorted by codepoints, checks were quite wrong. Implement _XkbKSUpper/_XkbKSLower checks based on a grep for CAPITAL/SMALL (respectively) on the Latin 8 part of the said file. Reviewed-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Cyril Brulebois <kibi@debian.org>
This commit is contained in:
		
							parent
							
								
									d9bda34d0d
								
							
						
					
					
						commit
						408ed1576d
					
				|  | @ -99,23 +99,34 @@ unsigned	set,rtrn; | ||||||
| 	    } | 	    } | ||||||
| 	    break; | 	    break; | ||||||
| 	case 18:		/* latin 8 */ | 	case 18:		/* latin 8 */ | ||||||
| 	    if ((ks==XK_Babovedot)|| | 	    if ((ks==XK_Wcircumflex)|| | ||||||
|                 ((ks>=XK_Dabovedot)&&(ks<=XK_Wacute))|| | 		(ks==XK_Ycircumflex)|| | ||||||
| 		((ks>=XK_Ygrave)&&(ks<=XK_Fabovedot))|| | 		(ks==XK_Babovedot)|| | ||||||
| 	        (ks==XK_Mabovedot)|| | 		(ks==XK_Dabovedot)|| | ||||||
| 	        (ks==XK_Pabovedot)|| | 		(ks==XK_Fabovedot)|| | ||||||
| 	        (ks==XK_Sabovedot)|| | 		(ks==XK_Mabovedot)|| | ||||||
| 	        (ks==XK_Wdiaeresis)|| | 		(ks==XK_Pabovedot)|| | ||||||
| 		((ks>=XK_Wcircumflex)&&(ks<=XK_Ycircumflex))) { | 		(ks==XK_Sabovedot)|| | ||||||
|  | 		(ks==XK_Tabovedot)|| | ||||||
|  | 		(ks==XK_Wgrave)|| | ||||||
|  | 		(ks==XK_Wacute)|| | ||||||
|  | 		(ks==XK_Wdiaeresis)|| | ||||||
|  | 		(ks==XK_Ygrave)) { | ||||||
| 		rtrn|= _XkbKSUpper; | 		rtrn|= _XkbKSUpper; | ||||||
| 	    } | 	    } | ||||||
| 	    if ((ks==XK_babovedot)|| | 	    if ((ks==XK_wcircumflex)|| | ||||||
| 	        (ks==XK_dabovedot)|| | 		(ks==XK_ycircumflex)|| | ||||||
| 	        (ks==XK_fabovedot)|| | 		(ks==XK_babovedot)|| | ||||||
| 	        (ks==XK_mabovedot)|| | 		(ks==XK_dabovedot)|| | ||||||
|                 ((ks>=XK_wgrave)&&(ks<=XK_wacute))|| | 		(ks==XK_fabovedot)|| | ||||||
| 	        (ks==XK_ygrave)|| | 		(ks==XK_mabovedot)|| | ||||||
| 		((ks>=XK_wdiaeresis)&&(ks<=XK_ycircumflex))) { | 		(ks==XK_pabovedot)|| | ||||||
|  | 		(ks==XK_sabovedot)|| | ||||||
|  | 		(ks==XK_tabovedot)|| | ||||||
|  | 		(ks==XK_wgrave)|| | ||||||
|  | 		(ks==XK_wacute)|| | ||||||
|  | 		(ks==XK_wdiaeresis)|| | ||||||
|  | 		(ks==XK_ygrave)) { | ||||||
| 		rtrn|= _XkbKSLower; | 		rtrn|= _XkbKSLower; | ||||||
| 	    } | 	    } | ||||||
| 	    break; | 	    break; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue