--- linux_logo-4.04/linux_logo.h.orig Sun Jul 14 20:40:59 2002 +++ linux_logo-4.04/linux_logo.h Sat Aug 24 20:41:53 2002 @@ -15,6 +15,7 @@ int display_usertext; int custom_format; int pretty_output; + int quote_logo_backslashes; int center_sysinfo; char *user_text; char *format; --- linux_logo-5.02/linux_logo.c.orig 2007-07-31 17:25:16.000000000 +0200 +++ linux_logo-5.02/linux_logo.c 2007-08-12 18:39:15.984510248 +0200 @@ -102,6 +102,7 @@ settings->display_sysinfo_only=0; settings->display_usertext=0; settings->custom_format=0; + settings->quote_logo_backslashes=0; settings->center_sysinfo=1; settings->user_text[0]=0; settings->format[0]=0; @@ -125,13 +126,15 @@ } /* Prints a string, but stops at a newline or end of string */ -static char *print_line(char *string) { +static char *print_line(char *string, struct linux_logo_info_type *settings) { char *temp_st=string; if (temp_st==NULL) return NULL; while ((*temp_st!='\n') && (*temp_st!='\0')) { + if('\\' == *temp_st && settings->quote_logo_backslashes) + putchar('\\'); putchar(*temp_st); temp_st++; } @@ -518,7 +521,7 @@ if (settings->banner_mode) { /* Banner mode */ for(i=0;iwidth-80)/2,settings->plain_ascii); - string_point=print_line(string_point); + string_point=print_line(string_point, settings); printf("\n"); } if (!settings->display_logo_only) printf("\n"); @@ -535,14 +538,14 @@ for(i=0;i<7;i++) { shift_right(settings->offset,settings->plain_ascii); - string_point=print_line(string_point); + string_point=print_line(string_point, settings); printf("\n"); } /* The next lines can have cpuinfo after them */ for(i=7;ioffset,settings->plain_ascii); - string_point=print_line(string_point); + string_point=print_line(string_point, settings); shift_right(2,settings->plain_ascii); if (i-7plain_ascii) printf("\033[1;37;40m"); @@ -864,6 +867,8 @@ break; case 'p': settings->preserve_xy=1; break; + case 'q': settings->quote_logo_backslashes=1; + break; case 's': settings->skip_bogomips=1; break; case 't': argument=get_arg(&index,argc,argv);