Break out the unquote functionality to a separate function.
[mmh] / h / prototypes.h
index 1333a84..42767f5 100644 (file)
@@ -22,7 +22,7 @@ char *etcpath(char *);
 /*
 ** prototypes from the nmh subroutine library
 */
-void adios(char *, char *, ...) NORETURN;
+void adios(int, char *, char *, ...) NORETURN;
 void admonish(char *, char *, ...);
 void advertise(char *, char *, char *, va_list);
 void advise(char *, char *, ...);
@@ -38,7 +38,6 @@ void context_save(void);
 void cpydata(int, int, char *, char *);
 void cpydgst(int, int, char *, char *);
 int decode_rfc2047(char *, char *, size_t);
-void discard(FILE *);
 int default_done(int);
 int execprog(char *, char **);
 int execprogl(char *, char *, ...);
@@ -78,6 +77,7 @@ char *norm_charmap(char *);
 char *new_fs(char *, char *);
 int pidwait(pid_t, int);
 int pidstatus(int, FILE *, char *);
+int pidXwait(int, char *);
 void print_help(char *, struct swit *, int);
 void print_sw(char *, struct swit *, char *, FILE *);
 void print_version(char *);
@@ -112,6 +112,23 @@ int uprf(char *, char *);
 int vfgets(FILE *, char **);
 char *write_charset_8bit(void);
 
+/*
+ * Remove quotes and quoted-pair sequences from RFC-5322 atoms.
+ *
+ * Currently the actual algorithm is simpler than it technically should
+ * be: any quotes are simply eaten, unless they're preceded by the escape
+ * character (\).  This seems to be sufficient for our needs for now.
+ *
+ * Arguments:
+ *
+ * input       - The input string
+ * output      - The output string; is assumed to have at least as much
+ *               room as the input string.  At worst the output string will
+ *               be the same size as the input string; it might be smaller.
+ *
+ */
+void unquote_string(const char *input, char *output);
+
 int mh_strcasecmp(const char *s1, const char *s2);