(Makefile.am should have a rule so you can just type "make netrc")
*/
+#include "config.h"
+
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
-#include "config.h"
#include "fetchmail.h"
#include "netrc.h"
#include "i18n.h"
# define xmalloc malloc
# define xrealloc realloc
-char *program_name = "netrc";
+const char *program_name = "netrc";
#endif
/* Maybe add NEWENTRY to the account information list, LIST. NEWENTRY is
list of entries. NULL is returned if the file could not be
parsed. */
netrc_entry *
-parse_netrc (file)
- char *file;
+parse_netrc (char *file)
{
FILE *fp;
char buf[POPBUFSIZE+1], *p, *tok;
/* Return the netrc entry from LIST corresponding to HOST. NULL is
returned if no such entry exists. */
netrc_entry *
-search_netrc (list, host, login)
- netrc_entry *list;
- char *host, *login;
+search_netrc (netrc_entry *list, char *host, char *login)
{
/* Look for the HOST in LIST. */
while (list)
return list;
}
+void
+free_netrc(netrc_entry *a) {
+ while(a) {
+ netrc_entry *n = a->next;
+ if (a->password != NULL) {
+ memset(a->password, 0x55, strlen(a->password));
+ free(a->password);
+ }
+ xfree(a->login);
+ xfree(a->host);
+ xfree(a);
+ a = n;
+ }
+}
#ifdef STANDALONE
#include <sys/types.h>
int main (int argc, char **argv)
{
struct stat sb;
- char *program_name, *file, *host, *login;
+ char *file, *host, *login;
netrc_entry *head, *a;
program_name = argv[0];
a = a->next;
}
+ free_netrc(head);
+
exit (0);
}
#endif /* STANDALONE */