diff options
author | alexey.skladnoy <alexey.skladnoy@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2008-07-22 13:45:50 +0000 |
---|---|---|
committer | alexey.skladnoy <alexey.skladnoy@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2008-07-22 13:45:50 +0000 |
commit | 01d2dc398add06d90119c45e7d060de73f72d8f7 (patch) | |
tree | d59ad6e68b82af2f66307ac0e8782e36228a8aac | |
parent | 0d6376293cda17e3eb30d9bf8e202d0c06a62a39 (diff) | |
download | dzen-01d2dc398add06d90119c45e7d060de73f72d8f7.tar.gz dzen-01d2dc398add06d90119c45e7d060de73f72d8f7.zip |
font preloading routines refactored
git-svn-id: http://dzen.googlecode.com/svn/trunk@229 f2baff5b-bf2c-0410-a398-912abdc3d8b2
-rw-r--r-- | main.c | 32 |
1 files changed, 10 insertions, 22 deletions
@@ -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); |