Vladimir Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							9ee5ae1fae 
							
						 
					 
					
						
						
							
							Document intentional fallthroughs.  
						
						... 
						
						
						
						Found by: Coverity scan. 
						
					 
					
						2015-01-27 17:17:58 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							dafff9ce44 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c: Fix premature line wrap and crash.  
						
						... 
						
						
						
						Crash happened only in some cases like a string starting at the
	half of the screen of same length. 
						
					 
					
						2013-12-11 17:06:00 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							6f07c4e407 
							
						 
					 
					
						
						
							
							Pass font config to config.h and not by TARGET_CFLAGS as adding  
						
						... 
						
						
						
						arguments doesn't work if TARGET_CFLAGS is specified on command
	line. 
						
					 
					
						2013-12-04 10:25:53 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							c03995d297 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested  
						
						... 
						
						
						
						functions.
	(grub_bidi_line_logical_to_visual): Likewise. 
						
					 
					
						2013-11-07 02:31:31 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							a28567364a 
							
						 
					 
					
						
						
							
							Make char and string width grub_size_t rather than grub_ssize_t.  
						
						
						
					 
					
						2013-10-25 23:58:24 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							a2371e19b3 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.  
						
						
						
					 
					
						2013-07-11 13:34:20 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							85002bf34a 
							
						 
					 
					
						
						
							
							Agglomerate more mallocs to speed-up gfxterm.  
						
						
						
					 
					
						2013-05-04 22:23:23 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							19e29ee1a9 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add  
						
						... 
						
						
						
						hook pass-through parameter. All users updated and unnested. 
						
					 
					
						2013-03-02 11:47:59 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							34f71cb866 
							
						 
					 
					
						
						
							
							Improve bidi handling in entry editor.  
						
						
						
					 
					
						2013-01-16 13:41:16 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							851ffadac2 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of  
						
						... 
						
						
						
						written bytes.
	(grub_get_num_of_utf8_bytes): New function.
	(grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
	* grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
	executing it.
	* include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
	(grub_ucs4_to_utf8): Change return type. 
						
					 
					
						2012-04-07 20:11:04 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							3f8cdd9052 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.  
						
						
						
					 
					
						2012-03-28 17:54:54 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							e1bd676b4e 
							
						 
					 
					
						
						
							
							Fix tab and wide character handling in editor and menu.  
						
						... 
						
						
						
						* grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
	agglomerate control characters with combining marks.
	(bidi_line_wrap): Allow break on tab.
	(grub_unicode_get_comb_start): New function.
	* grub-core/normal/menu_entry.c: Restructure to handle wide characters
	and tab correctly.
	* grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
	with a space.
	* grub-core/normal/term.c (print_ucs4_terminal): New argument
	fixed_tab_size. All users updated.
	* include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
	(grub_term_getcharwidth): Handle \t.
	* include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
	and copy. 
						
					 
					
						2012-03-27 17:07:26 +02:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							ecdbae77ca 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.  
						
						
						
					 
					
						2012-03-08 19:05:43 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							24539abdb1 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning  
						
						... 
						
						
						
						and fix a case when line_start overflows. 
						
					 
					
						2012-03-05 01:26:29 +01:00 
						 
				 
			
				
					
						
							
							
								Matthew Garrett 
							
						 
					 
					
						
						
						
						
							
						
						
							c598862958 
							
						 
					 
					
						
						
							
							* grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.  
						
						... 
						
						
						
						* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/api.h: Add guid for EFI-specified variables.
	* include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
	* grub-core/normal/charset.c (grub_utf8_process): Move from here ...
	* include/grub/charset.h (grub_utf8_process): ... to here. Inline.
	* grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
	* include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline. 
						
					 
					
						2012-02-27 12:02:57 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							8b282ad222 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type  
						
						... 
						
						
						
						to grub_ssize_t.
	* grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
	* include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype. 
						
					 
					
						2012-02-26 17:20:30 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							4e27343fb0 
							
						 
					 
					
						
						
							
							* conf/Makefile.common (CFLAGS_GNULIB): Add  
						
						... 
						
						
						
						-Wno-unsafe-loop-optimizations.
	* configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
	on tools.
	* grub-core/commands/legacycfg.c: Add pragma to skip
	-Wunsafe-loop-optimizations.
	(check_password_md5_real): Fix loop counter type.
	* grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
	reading.
	* grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
	* grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
	loop condition.
	* grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
	* grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
	* grub-core/net/net.c (grub_net_route_address): Add safety loop
	condition.
	* grub-core/normal/charset.c (bidi_line_wrap): Likewise.
	* grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
	avoid possible infinite loops.
	* grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
	and -Wunsafe-loop-optimizations.
	* grub-core/script/yylex.l: Likewise.
	* util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
	(print_glyphs): Avoid infinite loops.
	* util/grub-mkimage.c (compress_kernel_xz): Fix format security. 
						
					 
					
						2012-02-24 12:30:32 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							d46683f97a 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop  
						
						... 
						
						
						
						condition to avoid possibly infinite loops. 
						
					 
					
						2012-02-22 05:19:11 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							9c4b5c13e6 
							
						 
					 
					
						
						
							
							Improve gettext support. Stylistic fixes and error handling fixes while  
						
						... 
						
						
						
						on it. 
						
					 
					
						2012-02-08 19:26:01 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							e70cb72f73 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c: Move comment to right place.  
						
						
						
					 
					
						2012-01-12 22:13:20 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							f3cb4a4e57 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.  
						
						... 
						
						
						
						(grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
	* include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
	(GRUB_UNICODE_TAG_END): Likewise.
	(GRUB_UNICODE_LAST_VALID): Likewise. 
						
					 
					
						2011-12-25 16:07:33 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							5da8dbc5bc 
							
						 
					 
					
						
						
							
							* include/grub/unicode.h (grub_unicode_compact_range): Replace end with  
						
						... 
						
						
						
						len and make it smaller. All users updated.
	* util/import_unicode.py: Put length and not end character.
	Check length. 
						
					 
					
						2011-12-25 16:03:42 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							8569f13d8d 
							
						 
					 
					
						
						
							
							Make better Unicode-compliant and unify some UTF-8 code pathes.  
						
						... 
						
						
						
						* grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
	valid character.
	(grub_is_valid_utf8): Use grub_utf8_process.
	Check resulting code range.
	(grub_utf8_to_ucs4): Use grub_utf8_process.
	* include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
	valid character. 
						
					 
					
						2011-12-25 15:57:50 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							cb8f88ea82 
							
						 
					 
					
						
						
							
							* include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.  
						
						... 
						
						
						
						(grub_ucs4_to_utf8_alloc): Likewise.
	(grub_ucs4_to_utf8): Likewise.
	* grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
	(grub_ucs4_to_utf8_alloc): Likewise. 
						
					 
					
						2011-12-14 10:01:24 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							c5fc563aff 
							
						 
					 
					
						
						
							
							Enable UTF8 in gnulib regexp.  
						
						... 
						
						
						
						* config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
	* grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
	(isupper): Use grub_isupper.
	(isascii): New inline function.
	* grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
	* grub-core/lib/posix_wrap/wctype.h: Likewise.
	* grub-core/normal/charset.c (grub_utf8_process): New function.
	(grub_utf8_to_utf16): Use grub_utf8_process.
	(grub_encode_utf8_character): New function.
	(grub_ucs4_to_utf8): Use grub_encode_utf8_character.
	* include/grub/charset.h (grub_utf8_process): New declaration.
	(grub_encode_utf8_character): Likewise.
	* include/grub/misc.h (grub_islower): New inline function.
	(grub_isupper): Likewise.
	(grub_strchrsub): Moved down to fix the definitions. 
						
					 
					
						2011-12-13 00:50:49 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							1afcc914c5 
							
						 
					 
					
						
						
							
							Make better UTF compliant.  
						
						... 
						
						
						
						* grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
	sequences as incorrect.
	(grub_is_valid_utf8): Likewise.
	(grub_utf8_to_ucs4): Likewise.
	(grub_ucs4_to_utf8): Handle codepoints outside of BMP.
	(grub_ucs4_to_utf8_alloc): Likewise.
	* include/grub/charset.h (grub_utf16_to_utf8): Likewise. 
						
					 
					
						2010-11-17 16:13:16 +01:00 
						 
				 
			
				
					
						
							
							
								Vladimir 'phcoder' Serbinenko 
							
						 
					 
					
						
						
						
						
							
						
						
							5303b85d44 
							
						 
					 
					
						
						
							
							* grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop  
						
						... 
						
						
						
						on malloc error.
	(grub_bidi_logical_to_visual): Check that malloc succeded.
	* grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
	puts.
	(grub_xputs_normal): Likewise. 
						
					 
					
						2010-08-29 21:57:37 +02:00 
						 
				 
			
				
					
						
							
							
								BVK Chaitanya 
							
						 
					 
					
						
						
						
						
							
						
						
							297f0c2b6e 
							
						 
					 
					
						
						
							
							merge with mainline  
						
						
						
					 
					
						2010-07-13 00:43:28 +05:30