make sure command is some text != ""

else call with command arg = NULL

No need to check for a_strlen(command) then on _tell anymore if command != NULL
This commit is contained in:
marco candrian 2008-03-13 15:46:14 +01:00 committed by Julien Danjou
parent 98e219fab8
commit 2e6dccc5ac
2 changed files with 11 additions and 8 deletions

View File

@ -217,10 +217,14 @@ uicb_widget_tell(int screen, char *arg)
}
property = p;
p = p + a_strlen(p) + 1; /* could be out of 'arg' now */
if(p + a_strlen(p) < arg + len)
/* arg + len points to the finishing \0.
* p to the char right of the first space (strtok delimiter)
*
* \0 is on the right(>) of p pointer => some text (command) */
if(arg + len > p)
{
p = p + a_strlen(p) + 1;
len = a_strlen(p);
command = p_new(char, len + 1);
a_strncpy(command, len + 1, p, len);

View File

@ -67,15 +67,15 @@ textbox_tell(Widget *widget, char *property, char *command)
Data *d = widget->data;
XftFont *newfont;
if(!command)
return WIDGET_ERROR_NOVALUE;
if(!a_strcmp(property, "text"))
{
if (d->text)
p_delete(&d->text);
d->text = a_strdup(command);
}
/* !command means a not existing string. So return here */
else if(!command)
return WIDGET_ERROR_NOVALUE;
else if(!a_strcmp(property, "fg"))
if(draw_color_new(globalconf.display, widget->statusbar->screen, command, &d->colors.fg))
return WIDGET_NOERROR;
@ -88,8 +88,7 @@ textbox_tell(Widget *widget, char *property, char *command)
return WIDGET_ERROR_FORMAT_COLOR;
else if(!a_strcmp(property, "font"))
{
if(a_strlen(command)
&& (newfont = XftFontOpenName(globalconf.display,
if((newfont = XftFontOpenName(globalconf.display,
get_phys_screen(widget->statusbar->screen), command)))
{
if(widget->font != globalconf.screens[widget->statusbar->screen].font)