[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: Re: fbsplash breakage by 25333
From: Bernhard Reutner-Fischer <rep.dot.nop () gmail ! com>
Date: 2009-02-16 14:08:18
Message-ID: 20090216140818.GA26045 () mx ! loc
[Download RAW message or body]
On Mon, Feb 16, 2009 at 01:50:21PM +0100, Denys Vlasenko wrote:
>On Mon, Feb 16, 2009 at 1:39 PM, Bernhard Reutner-Fischer
>>>I have an example splash.ppm file hre, and its header looks like this:
>>>
>>>P6
>>># CREATOR: The GIMP's PNM Filter Version 1.0
>>>640 480
>>>255
>>>[binary data starts here]
>>>
>>>The above change broke it.
>>
>> Fair enough, i wasn't aware that there can be comments.
>> Apparently even this would be a legal header:
>> ---8<---
>> P6
>> 640 #something
>> 480 #another comment
>> # comment
>> 255
>> ---8<---
>>
>> r25342 should deal with this fine (untested).
>
>Oh no, please don't, I'm working on it right now;
ouch, sorry too late, i've already checked it in :-/
>also trying to add that text rendering.
btw, fbset seems to be completely broken, i can't set -depth ?
Attached hunk would cure it for me, i'll let you deal with it
since you apparently touched fbset alot in the past, ok?
["fbset-does-not-set-depth.patch" (text/x-diff)]
$ size util-linux/fbset.o*
text data bss dec hex filename
2531 0 0 2531 9e3 util-linux/fbset.o.oorig
2598 0 0 2598 a26 util-linux/fbset.o
Index: util-linux/fbset.c
===================================================================
--- util-linux/fbset.c (revision 25341)
+++ util-linux/fbset.c (working copy)
@@ -30,7 +30,8 @@ enum {
/* CMD_XCOMPAT = 10, */
CMD_ALL = 11,
CMD_INFO = 12,
- CMD_CHANGE = 13,
+ CMD_SHOW = 13,
+ CMD_CHANGE = 14,
#if ENABLE_FEATURE_FBSET_FANCY
CMD_XRES = 100,
@@ -123,7 +124,8 @@ static const struct cmdoptions_t {
{ "vsync" , 1, CMD_VSYNC },
{ "laced" , 1, CMD_LACED },
{ "double" , 1, CMD_DOUBLE },
- { "n" , 0, CMD_CHANGE },
+ { "show" , 0, CMD_SHOW },
+ { "s" , 0, CMD_SHOW },
#if ENABLE_FEATURE_FBSET_FANCY
{ "all" , 0, CMD_ALL },
{ "xres" , 1, CMD_XRES },
@@ -172,7 +174,7 @@ static void ss(uint32_t *x, uint32_t fla
*x |= flag;
}
-static int readmode(struct fb_var_screeninfo *base, const char *fn,
+static int read_mode_db(struct fb_var_screeninfo *base, const char *fn,
const char *mode)
{
char *token[2], *p, *s;
@@ -302,7 +304,7 @@ int fbset_main(int argc, char **argv)
{
enum {
OPT_CHANGE = (1 << 0),
- /*OPT_INFO = (1 << 1), ??*/
+ OPT_SHOW = (1 << 1),
OPT_READMODE = (1 << 2),
OPT_ALL = (1 << 9),
};
@@ -333,6 +335,12 @@ int fbset_main(int argc, char **argv)
case CMD_DB:
modefile = argv[1];
break;
+ case CMD_ALL:
+ options |= OPT_ALL;
+ break;
+ case CMD_SHOW:
+ options |= OPT_SHOW;
+ break;
case CMD_GEOMETRY:
varset.xres = xatou32(argv[1]);
varset.yres = xatou32(argv[2]);
@@ -349,12 +357,6 @@ int fbset_main(int argc, char **argv)
varset.hsync_len = xatou32(argv[6]);
varset.vsync_len = xatou32(argv[7]);
break;
- case CMD_ALL:
- options |= OPT_ALL;
- break;
- case CMD_CHANGE:
- options |= OPT_CHANGE;
- break;
#if ENABLE_FEATURE_FBSET_FANCY
case CMD_XRES:
varset.xres = xatou32(argv[1]);
@@ -367,6 +369,15 @@ int fbset_main(int argc, char **argv)
break;
#endif
}
+ switch (g_cmdoptions[i].code) {
+ case CMD_FB:
+ case CMD_DB:
+ case CMD_ALL:
+ case CMD_SHOW:
+ break;
+ default:
+ options |= OPT_CHANGE; /* the other commands imply changes */
+ }
argc -= g_cmdoptions[i].param_count;
argv += g_cmdoptions[i].param_count;
goto contin;
@@ -384,19 +395,20 @@ int fbset_main(int argc, char **argv)
#if !ENABLE_FEATURE_FBSET_READMODE
bb_show_usage();
#else
- if (!readmode(&var, modefile, mode)) {
+ if (!read_mode_db(&var, modefile, mode)) {
bb_error_msg_and_die("unknown video mode '%s'", mode);
}
#endif
}
- setmode(&var, &varset);
if (options & OPT_CHANGE) {
+ setmode(&var, &varset);
if (options & OPT_ALL)
var.activate = FB_ACTIVATE_ALL;
xioctl(fh, FBIOPUT_VSCREENINFO, &var);
}
- showmode(&var);
+ if (options == 0 || options & OPT_SHOW)
+ showmode(&var);
/* Don't close the file, as exiting will take care of that */
/* close(fh); */
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic