degesch: fix some encoding issues
This commit is contained in:
		
							parent
							
								
									b257340ad2
								
							
						
					
					
						commit
						bcbbdbc4bc
					
				
							
								
								
									
										16
									
								
								degesch.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								degesch.c
									
									
									
									
									
								
							| @ -2959,8 +2959,11 @@ buffer_print_backlog (struct app_context *ctx, struct buffer *buffer) | |||||||
| { | { | ||||||
| 	// The prompt can take considerable time to redraw
 | 	// The prompt can take considerable time to redraw
 | ||||||
| 	input_hide (&ctx->input); | 	input_hide (&ctx->input); | ||||||
| 	// FIXME: encoding
 | 
 | ||||||
| 	print_status ("%s", buffer->name); | 	char *buffer_name_localized = | ||||||
|  | 		iconv_xstrdup (ctx->term_from_utf8, buffer->name, -1, NULL); | ||||||
|  | 	print_status ("%s", buffer_name_localized); | ||||||
|  | 	free (buffer_name_localized); | ||||||
| 
 | 
 | ||||||
| 	// That is, minus the buffer switch line and the readline prompt
 | 	// That is, minus the buffer switch line and the readline prompt
 | ||||||
| 	int display_limit = MAX (MAX (10, | 	int display_limit = MAX (MAX (10, | ||||||
| @ -4519,21 +4522,22 @@ refresh_prompt (struct app_context *ctx) | |||||||
| 	str_init (&prompt); | 	str_init (&prompt); | ||||||
| 	make_prompt (ctx, &prompt); | 	make_prompt (ctx, &prompt); | ||||||
| 	str_append_c (&prompt, ' '); | 	str_append_c (&prompt, ' '); | ||||||
|  | 	char *localized = iconv_xstrdup (ctx->term_from_utf8, prompt.str, -1, NULL); | ||||||
|  | 	str_free (&prompt); | ||||||
| 
 | 
 | ||||||
| 	// FIXME: encoding
 |  | ||||||
| 	if (have_attributes) | 	if (have_attributes) | ||||||
| 	{ | 	{ | ||||||
| 		// XXX: to be completely correct, we should use tputs, but we cannot
 | 		// XXX: to be completely correct, we should use tputs, but we cannot
 | ||||||
| 		input_set_prompt (&ctx->input, xstrdup_printf ("%c%s%c%s%c%s%c", | 		input_set_prompt (&ctx->input, xstrdup_printf ("%c%s%c%s%c%s%c", | ||||||
| 			INPUT_START_IGNORE, ctx->attrs[ATTR_PROMPT], | 			INPUT_START_IGNORE, ctx->attrs[ATTR_PROMPT], | ||||||
| 			INPUT_END_IGNORE, | 			INPUT_END_IGNORE, | ||||||
| 			prompt.str, | 			localized, | ||||||
| 			INPUT_START_IGNORE, ctx->attrs[ATTR_RESET], | 			INPUT_START_IGNORE, ctx->attrs[ATTR_RESET], | ||||||
| 			INPUT_END_IGNORE)); | 			INPUT_END_IGNORE)); | ||||||
|  | 		free (localized); | ||||||
| 	} | 	} | ||||||
| 	else | 	else | ||||||
| 		input_set_prompt (&ctx->input, xstrdup (prompt.str)); | 		input_set_prompt (&ctx->input, localized); | ||||||
| 	str_free (&prompt); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // --- Helpers -----------------------------------------------------------------
 | // --- Helpers -----------------------------------------------------------------
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user