QUERY *first = NULL;
QUERY *cur = NULL;
char cmd[_POSIX_PATH_MAX];
- char buf[STRING];
+ char *buf = NULL;
+ size_t buflen;
+ int dummy = 0;
char msg[STRING];
char *p;
pid_t thepid;
if (!quiet)
mutt_message _("Waiting for response...");
fgets (msg, sizeof (msg) - 1, fp);
- while (fgets(buf, sizeof (buf) - 1, fp))
+ while ((buf = mutt_read_line (buf, &buflen, fp, &dummy)) != NULL)
{
if ((p = strtok(buf, "\t\n")))
{
}
}
}
+ safe_free ((void **) &buf);
fclose (fp);
if (mutt_wait_filter (thepid))
{
/* This is the callback routine from mutt_menuLoop() which is used to generate
* a menu entry for the requested item number.
*/
+#define QUERY_MIN_COLUMN_LENGHT 20 /* Must be < 70/2 */
static void query_entry (char *s, size_t slen, MUTTMENU *m, int num)
{
ENTRY *table = (ENTRY *) m->data;
char buf[SHORT_STRING] = "";
-
+
+ /* need a query format ... hard coded constants are not good */
while (FirstColumn + SecondColumn > 70)
{
FirstColumn = FirstColumn * 3 / 4;
SecondColumn = SecondColumn * 3 / 4;
+ if (FirstColumn < QUERY_MIN_COLUMN_LENGHT)
+ FirstColumn = QUERY_MIN_COLUMN_LENGHT;
+ if (SecondColumn < QUERY_MIN_COLUMN_LENGHT)
+ SecondColumn = QUERY_MIN_COLUMN_LENGHT;
}
rfc822_write_address (buf, sizeof (buf), table[num].data->addr);