-- Jacob Morzinski jmorzins_at_mit.edu --- fvwm/read.c 1997/06/01 00:51:08 1.1 +++ fvwm/read.c 1997/06/01 01:55:22 1.2 _at_@ -308,12 +308,34 @@ unsigned long context, char *action, int *Module) { struct moduleInfoList *t; - char message[256]; + char *message; + int message_len; + int tmp_len; extern char *IconPath; #ifdef XPM extern char *PixmapPath; #endif + /* The _right_ way to calculate the space requirement for *message + * would be to preprocess this file with M4, have some macro + * count the number of chars in each string ("fooPath"), and + * substitute in the length of that string. + * I can't be sure of M4, so I computed the lengths by hand. + * (Hey, fvwm is supposed to be _small_ and _fast_, right?) + */ + message_len = (3 + 8 /* 8 == strlen("IconPath") */ + + strlen(IconPath)); + tmp_len = (3 + 10 /* 10 == strlen("PixmapPath") */ + + strlen(PixmapPath)); + if (tmp_len > message_len) + message_len = tmp_len; + tmp_len = (3 + 9 /* 9 == strlen("ClickTime") */ + + 20); /* Generous space for "%d" */ + if (tmp_len > message_len) + message_len = tmp_len; + + message = safemalloc(message_len); + sprintf(message,"IconPath %s\n",IconPath); SendName(*Module,M_CONFIG_INFO,0,0,0,message); #ifdef XPM _at_@ -322,6 +344,8 @@ #endif sprintf(message,"ClickTime %d\n",Scr.ClickTime); SendName(*Module,M_CONFIG_INFO,0,0,0,message); + + free(message); t = modlistroot; while(t != NULL) -- Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>. To unsubscribe from the list, send "unsubscribe fvwm" in the body of a message to majordomo_at_hpc.uh.edu. To report problems, send mail to fvwm-owner_at_hpc.uh.edu.Received on Tue Aug 19 1997 - 01:27:39 BST
This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:38:00 BST