diff options
| author | Sam Varshavchik | 2022-01-17 21:07:13 -0500 | 
|---|---|---|
| committer | Sam Varshavchik | 2022-01-17 21:07:13 -0500 | 
| commit | f67b3067a0fee0b7e768f6bd9e12649cacc1f0d2 (patch) | |
| tree | d37e02ae1acfbb6779a7c21e97a32411ff3cb191 | |
| parent | 17cd2a82b61c728106ca385fee1f858b671f321e (diff) | |
| download | courier-libs-f67b3067a0fee0b7e768f6bd9e12649cacc1f0d2.tar.bz2 | |
Clean up maildir_getnew.
| -rw-r--r-- | imap/ChangeLog | 2 | ||||
| -rw-r--r-- | imap/imapd.c | 4 | ||||
| -rw-r--r-- | imap/pop3dserver.c | 2 | ||||
| -rw-r--r-- | maildir/maildirgetnew.c | 17 | ||||
| -rw-r--r-- | maildir/maildirmisc.h | 7 | ||||
| -rw-r--r-- | maildir/maildirshared.c | 6 | ||||
| -rw-r--r-- | sqwebmail/ChangeLog | 4 | ||||
| -rw-r--r-- | sqwebmail/maildir.c | 25 | 
8 files changed, 18 insertions, 49 deletions
| diff --git a/imap/ChangeLog b/imap/ChangeLog index 7ca1cd0..6a93b1e 100644 --- a/imap/ChangeLog +++ b/imap/ChangeLog @@ -1,5 +1,7 @@  2022-01-17  Sam Varshavchik  <mrsam@courier-mta.com> +	* Remove unused parameters to maildir_getnew. +  	* Fix minor memory leaks.  5.1.7 diff --git a/imap/imapd.c b/imap/imapd.c index ccc1991..cfa2dd4 100644 --- a/imap/imapd.c +++ b/imap/imapd.c @@ -273,7 +273,7 @@ void emptytrash()  		if (l <= 0)  			l=1; -		maildir_getnew(".", trash, NULL, NULL); +		maildir_getnew(".", trash);  		if ((dir=maildir_folderdir(".", trash)))  		{  			maildir_purge(dir, l * 24 * 60 * 60); @@ -306,7 +306,7 @@ void emptytrash()  		l=atoi(p);  		if (l <= 0)	l=1; -		maildir_getnew(".", folder, NULL, NULL); +		maildir_getnew(".", folder);  		if ((dir=maildir_folderdir(".", folder)))  		{  			maildir_purge(dir, l * 24 * 60 * 60); diff --git a/imap/pop3dserver.c b/imap/pop3dserver.c index 5e938ad..8e2c71b 100644 --- a/imap/pop3dserver.c +++ b/imap/pop3dserver.c @@ -1204,7 +1204,7 @@ char	*p;  	msglist_l=0;  	msglist_a=0;  	purgetmp(); -	maildir_getnew(".", INBOX, NULL, NULL); +	maildir_getnew(".", INBOX);  	if (scancur())  	{  		printed(printf("-ERR Maildir invalid (no 'cur' directory)\r\n")); diff --git a/maildir/maildirgetnew.c b/maildir/maildirgetnew.c index 0ef75db..940277f 100644 --- a/maildir/maildirgetnew.c +++ b/maildir/maildirgetnew.c @@ -38,13 +38,9 @@  #include	"maildirmisc.h" -static void do_maildir_getnew(const char *, const char *, -			      void (*)(const char *, void *), -			      void *); +static void do_maildir_getnew(const char *, const char *); -void maildir_getnew(const char *maildir, const char *folder, -		    void (*callback_func)(const char *, void *), -		    void *callback_arg) +void maildir_getnew(const char *maildir, const char *folder)  {  char	*dir=maildir_folderdir(maildir, folder);  char	*newd, *curd; @@ -58,7 +54,7 @@ char	*newd, *curd;  	{  		strcat(strcpy(newd, dir), "/new");  		strcat(strcpy(curd, dir), "/cur"); -		do_maildir_getnew(newd, curd, callback_func, callback_arg); +		do_maildir_getnew(newd, curd);  	}  	if (newd)	free(newd); @@ -66,9 +62,7 @@ char	*newd, *curd;  	free(dir);  } -static void do_maildir_getnew(const char *newd, const char *curd, -			      void (*callback_func)(const char *, void *), -			      void *callback_arg) +static void do_maildir_getnew(const char *newd, const char *curd)  {  	DIR	*dirp;  	struct dirent *de; @@ -143,9 +137,6 @@ static void do_maildir_getnew(const char *newd, const char *curd,  				/* otherwise we could have infinite loop */  			} -			if (callback_func) -				(*callback_func)(strrchr(cp, '/')+1, -						 callback_arg);  			free(np);  			free(cp);  		} diff --git a/maildir/maildirmisc.h b/maildir/maildirmisc.h index e1e7c19..a28df9c 100644 --- a/maildir/maildirmisc.h +++ b/maildir/maildirmisc.h @@ -119,12 +119,7 @@ void maildir_purge(const char *,		/* directory */  	unsigned);				/* time_t to purge */  void maildir_getnew(const char *,		/* maildir */ -	const char *,				/* folder */ -	void (*)(const char *, void *),		/* Callback function for -						** every moved msg. -						*/ -	void *arg);				/* Passthrough callback arg */ - +		    const char *);		/* folder */  	/* move messages from new to cur */  int maildir_deletefolder(const char *,		/* maildir */ diff --git a/maildir/maildirshared.c b/maildir/maildirshared.c index 7123ce6..736fc39 100644 --- a/maildir/maildirshared.c +++ b/maildir/maildirshared.c @@ -722,10 +722,10 @@ struct	stat	stat1, stat2;  int	fd;  	maildir_purgetmp(dir);	/* clean up after myself */ -	maildir_getnew(dir, 0, NULL, NULL); +	maildir_getnew(dir, 0);  	maildir_purgetmp(shared); -	maildir_getnew(shared, 0, NULL, NULL); +	maildir_getnew(shared, 0);  	/* Figure out if we REALLY need to sync something */ @@ -851,7 +851,7 @@ char	*buf=maildir_getlink(filename);  				}  				free(cpy);  			} -						 +  			free(buf);  			return (0);  		} diff --git a/sqwebmail/ChangeLog b/sqwebmail/ChangeLog index 4cf2868..9a01ba5 100644 --- a/sqwebmail/ChangeLog +++ b/sqwebmail/ChangeLog @@ -1,5 +1,9 @@  2022-01-17  Sam Varshavchik  <mrsam@courier-mta.com> +	* Remove unused parameters to maildir_getnew. + +	* maildir.c (maildir_checknew): use maildir_getnew. +  	* Fix minor memory leaks.  6.0.9 diff --git a/sqwebmail/maildir.c b/sqwebmail/maildir.c index e19cbcb..71fa511 100644 --- a/sqwebmail/maildir.c +++ b/sqwebmail/maildir.c @@ -1122,30 +1122,7 @@ static void maildir_checknew(const char *folder, const char *dir)  	/* Move everything from new to cur */ -	dirbuf=alloc_filename(dir, "new", ""); - -	for (dirp=opendir(dirbuf); dirp && (dire=readdir(dirp)) != 0; ) -	{ -	char	*oldname, *newname; -	char	*p; - -		if (dire->d_name[0] == '.')	continue; - -		oldname=alloc_filename(dirbuf, dire->d_name, ""); - -		newname=malloc(strlen(oldname)+4); -		if (!newname)	enomem(); - -		strcat(strcat(strcpy(newname, dir), "/cur/"), dire->d_name); -		p=strrchr(newname, '/'); -		if ((p=strchr(p, ':')) != NULL)	*p=0;	/* Someone screwed up */ -		strcat(newname, ":2,"); -		rename(oldname, newname); -		free(oldname); -		free(newname); -	} -	if (dirp)	closedir(dirp); -	free(dirbuf); +	maildir_getnew(dir, 0);  	/* Look for any messages mark as deleted.  When we delete a message  	** we link it into the Trash folder, and mark the original with a T, | 
