* Please see COPYING for details
*
* Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
- * Copyright (c) 2005-2009 Brenden Matthews, Philip Kovacs, et. al.
+ * Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al.
* (see AUTHORS)
* All rights reserved.
*
sd->step = 1;
}
sd->text = malloc(strlen(arg + n1) + sd->show + 1);
- for(n2 = 0; (unsigned int) n2 < sd->show; n2++) {
- sd->text[n2] = ' ';
+
+ if (strlen(arg) > sd->show) {
+ for(n2 = 0; (unsigned int) n2 < sd->show; n2++) {
+ sd->text[n2] = ' ';
+ }
+ sd->text[n2] = 0;
}
- sd->text[n2] = 0;
+ else
+ sd->text[0] = 0;
+
strcat(sd->text, arg + n1);
sd->start = 0;
obj->sub = malloc(sizeof(struct text_object));
visibcolorchanges++;
}
//if there is still room fill it with spaces
- if( ! p[j]) return;
+ if( ! p[j]) break;
}
for(; j < sd->show + visibcolorchanges; j++) {
p[j] = ' ';
free(pwithcolors);
//scroll
sd->start += sd->step;
- if(buf[sd->start] == 0){
+ if(buf[sd->start] == 0 || sd->start > strlen(buf)){
sd->start = 0;
}
#ifdef X11