#include <string.h>
#include <ctype.h>
-#include <lib-lib/mem.h>
-#include <lib-lib/str.h>
-#include <lib-lib/ascii.h>
-#include <lib-lib/buffer.h>
+#include "mem.h"
+#include "str.h"
+#include "ascii.h"
+#include "buffer.h"
+#include "file.h"
#include "mutt.h"
-#include "lib/debug.h"
-
/*
* Creates and initializes a BUFFER*. If passed an existing BUFFER*,
* just initializes. Frees anything already in the buffer.
/* dynamically grows a BUFFER to accomodate s, in increments of 128 bytes.
* Always one byte bigger than necessary for the null terminator, and
* the buffer is always null-terminated */
-void mutt_buffer_add(BUFFER *buf, const char *s, size_t len)
+void mutt_buffer_add(BUFFER *buf, const char *s, ssize_t len)
{
size_t offset;
/* reset the destination pointer to the beginning of the buffer */
dest->dptr = dest->data;
- SKIPWS(tok->dptr);
+ tok->dptr = vskipspaces(tok->dptr);
while ((ch = *tok->dptr)) {
if (!qc) {
if ((ISSPACE(ch) && !(flags & M_TOKEN_SPACE))
FILE *fp;
pid_t pid;
char *cmd, *ptr;
- size_t expnlen;
+ ssize_t expnlen;
BUFFER expn;
int line = 0;
}
} while (pc && *pc != '`');
if (!pc) {
- debug_print (1, ("mismatched backtics\n"));
return (-1);
}
cmd = p_dupstr(tok->dptr, pc - tok->dptr);
if ((pid = mutt_create_filter(cmd, NULL, &fp, NULL)) < 0) {
- debug_print(1, ("unable to fork command: %s\n", cmd));
p_delete(&cmd);
return -1;
}
if (*tok->dptr == '{') {
tok->dptr++;
if ((pc = strchr (tok->dptr, '}'))) {
- var = str_substrdup (tok->dptr, pc);
+ var = p_dupstr(tok->dptr, pc - tok->dptr);
tok->dptr = pc + 1;
}
} else {
}
}
mutt_buffer_addch(dest, 0); /* terminate the string */
- SKIPWS(tok->dptr);
+ tok->dptr = vskipspaces(tok->dptr);
return 0;
}