#include <h/mh.h>
#include <fcntl.h>
#include <h/signals.h>
+#include "h/done.h"
#include <h/utils.h>
-#include "../sbr/m_mktemp.h"
+#include "sbr/m_mktemp.h"
#include <setjmp.h>
#include <termios.h>
/*
* prototypes
*/
-int getln (char *, int);
+static int getln (char *, int);
static int chrcnv (char *);
static void chrdsp (char *, char);
static void intrser (int);
char **arguments, **argp;
FILE *in, *out;
char *tmpfil;
- m_getfld_state_t gstate = 0;
+ m_getfld_state_t gstate;
if (nmh_init(argv[0], 2)) { return 1; }
/*
* Loop through the lines of the draft skeleton.
*/
+ gstate = m_getfld_state_init(in);
for (;;) {
int fieldsz = sizeof field;
- switch (state = m_getfld (&gstate, name, field, &fieldsz, in)) {
+ switch (state = m_getfld2(&gstate, name, field, &fieldsz)) {
case FLD:
case FLDPLUS:
/*
fprintf (out, "%s:%s", name, field);
while (state == FLDPLUS) {
fieldsz = sizeof field;
- state = m_getfld (&gstate, name, field, &fieldsz, in);
+ state = m_getfld2(&gstate, name, field, &fieldsz);
fputs(field, stdout);
fputs(field, out);
}
puts("--------");
if (field[0]) {
if (prepend && body) {
- printf ("\n--------Enter initial text\n\n");
+ puts("\n--------Enter initial text\n");
fflush (stdout);
for (;;) {
getln (buffer, sizeof(buffer));
fputs(field, stdout);
} while (state == BODY &&
(fieldsz = sizeof field,
- state = m_getfld (&gstate, name, field, &fieldsz, in)));
+ state = m_getfld2(&gstate, name, field, &fieldsz)));
if (prepend || !body)
break;
- else
- printf ("\n--------Enter additional text\n\n");
+ puts("\n--------Enter additional text\n");
}
fflush (stdout);
}
-int
+static int
getln (char *buffer, int n)
{
int c;
static int
chrcnv (char *cp)
{
- return (*cp != QUOTE ? *cp : m_atoi (++cp));
+ return *cp != QUOTE ? *cp : m_atoi(++cp);
}