From 01d2dc398add06d90119c45e7d060de73f72d8f7 Mon Sep 17 00:00:00 2001 From: "alexey.skladnoy" Date: Tue, 22 Jul 2008 13:45:50 +0000 Subject: font preloading routines refactored git-svn-id: http://dzen.googlecode.com/svn/trunk@229 f2baff5b-bf2c-0410-a398-912abdc3d8b2 --- main.c | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index eeb457c..981f757 100644 --- a/main.c +++ b/main.c @@ -743,21 +743,12 @@ x_preload(const char *fontstr, int p) { static void font_preload(char *s) { - int i, j, k=0; - char buf[512]; - - for(i=0, j=0; i<512; i++, j++) { - if(s[i] != ',' && s[i]) - buf[j] = s[i]; - else { - i++; - buf[j] = 0; - if(k<64) - x_preload(buf, k++); - j=0; - if(!s[i]) - break; - } + int k = 0; + char *buf = strtok(s,","); + while( buf != NULL ) { + if(k<64) + x_preload(buf, k++); + buf = strtok(NULL,","); } } @@ -784,9 +775,9 @@ init_input_buffer(void) { int main(int argc, char *argv[]) { - int i, preload=0, use_ewmh_dock=0; + int i, use_ewmh_dock=0; char *action_string = NULL; - char *endptr, *fnpre; + char *endptr, *fnpre = NULL; /* default values */ dzen.cur_line = 0; @@ -905,10 +896,7 @@ main(int argc, char *argv[]) { } else if(!strncmp(argv[i], "-fn-preload", 12)) { if(++i < argc) { - preload=1; - - fnpre=malloc(strlen(argv[i])); - strncpy(fnpre, argv[i], strlen(argv[i])); + fnpre = estrdup(argv[i]); } } #ifdef DZEN_XINERAMA @@ -996,7 +984,7 @@ main(int argc, char *argv[]) { XMapWindow(dzen.dpy, dzen.slave_win.line[i]); } - if(preload) + if( fnpre != NULL ) font_preload(fnpre); do_action(onstart); -- cgit v1.2.3-54-g00ecf