* Bug #15213, #18635: The use of the insecure m_scratch() and
[mmh] / h / prototypes.h
index edddc47..b044390 100644 (file)
@@ -25,8 +25,7 @@ char *etcpath(char *);
 /*
  * prototypes from the nmh subroutine library
  */
-char *add (char *, char *);
-void adios (char *, char *, ...);
+void adios (char *, char *, ...) NORETURN;
 void admonish (char *, char *, ...);
 void advertise (char *, char *, char *, va_list);
 void advise (char *, char *, ...);
@@ -34,6 +33,7 @@ void ambigsw (char *, struct swit *);
 int atooi(char *);
 char **brkstring (char *, char *, char *);
 int check_charset (char *, int);
+int client(char *, char *, char *, int, int);
 void closefds(int);
 char *concat (char *, ...);
 int context_del (char *);
@@ -46,9 +46,9 @@ char *copy (char *, char *);
 char **copyip (char **, char **, int);
 void cpydata (int, int, char *, char *);
 void cpydgst (int, int, char *, char *);
-int decode_rfc2047 (char *, char *);
+int decode_rfc2047 (char *, char *, size_t);
 void discard (FILE *);
-int done (int);
+int default_done (int);
 int ext_hook(char *, char *, char *);
 int fdcompare (int, int);
 int folder_addmsg (struct msgs **, char *, int, int, int, int, char *);
@@ -72,7 +72,7 @@ int m_atoi (char *);
 char *m_backup (char *);
 int m_convert (struct msgs *, char *);
 char *m_draft (char *, char *, int, int *);
-void m_eomsbr (int (*)());
+void m_eomsbr (int (*)(int));
 int m_getfld (int, unsigned char *, unsigned char *, int, FILE *);
 int m_gmprot (void);
 char *m_maildir (char *);
@@ -81,6 +81,8 @@ char *m_name (int);
 int m_putenv (char *, char *);
 char *m_scratch (char *, char *);
 char *m_tmpfil (char *);
+char *m_mktemp(const char *, int *, FILE **);
+char *m_mktemp2(const char *, const char *, int *, FILE **);
 void m_unknown(FILE *);
 int makedir (char *);
 char *nmh_getpass(const char *);
@@ -90,15 +92,16 @@ char *path(char *, int);
 int peekc(FILE *ib);
 int pidwait (pid_t, int);
 int pidstatus (int, FILE *, char *);
+char *pluspath(char *);
 void print_help (char *, struct swit *, int);
-void print_sw (char *, struct swit *, char *);
+void print_sw (char *, struct swit *, char *, FILE *);
 void print_version (char *);
 void push (void);
 char *pwd (void);
 char *r1bindex(char *, int);
 void readconfig (struct node **, FILE *, char *, int);
 int refile (char **, char *);
-int ruserpass(char *, char **, char **);
+void ruserpass(char *, char **, char **);
 int remdir (char *);
 int seq_addmsg (struct msgs *, char *, int, int, int);
 int seq_addsel (struct msgs *, char *, int, int);
@@ -107,7 +110,7 @@ int seq_delmsg (struct msgs *, char *, int);
 int seq_delsel (struct msgs *, char *, int, int);
 int seq_getnum (struct msgs *, char *);
 char *seq_list (struct msgs *, char *);
-int seq_nameok (char *);
+int seq_nameok (unsigned char *);
 void seq_print (struct msgs *, char *);
 void seq_printall (struct msgs *);
 void seq_read (struct msgs *);
@@ -120,7 +123,7 @@ int smatch(char *, struct swit *);
 char *snprintb (char *, size_t, unsigned, char *);
 int ssequal (char *, char *);
 int stringdex (char *, char *);
-char *trimcpy (char *);
+char *trimcpy (unsigned char *);
 int unputenv (char *);
 int uprf (char *, char *);
 int vfgets (FILE *, char **);
@@ -138,13 +141,9 @@ int snprintf (char *, size_t, const char *, ...);
 int vsnprintf (char *, size_t, const char *, va_list);
 #endif
 
-int strcasecmp (const char *s1, const char *s2);
+int mh_strcasecmp (const char *s1, const char *s2);
 int strncasecmp (const char *s1, const char *s2, size_t n);
 
-#ifndef HAVE_STRERROR
-char *strerror (int);
-#endif
-
 
 /*
  * some prototypes for address parsing system
@@ -159,10 +158,11 @@ char *OfficialName(char *);
  */
 int annotate (char *, char *, char *, int, int, int, int);
 void annolist(char *, char *, char *, int);
+void annopreserve(int);
 int distout (char *, char *, char *);
 void replout (FILE *, char *, char *, struct msgs *, int,
        int, char *, char *, char *);
-int sendsbr (char **, int, char *, struct stat *, int, char *);
+int sendsbr (char **, int, char *, struct stat *, int, char *, int);
 int what_now (char *, int, int, char *, char *,
        int, struct msgs *, char *, int, char *);