diff options
| author | Sam Varshavchik | 2015-12-19 12:08:37 -0500 | 
|---|---|---|
| committer | Sam Varshavchik | 2015-12-19 12:08:37 -0500 | 
| commit | fc74b7bc645d74c9fc87fa63345b6c6840c73bca (patch) | |
| tree | 519885c20743c188918eb32e044ac2d7e609ab86 /maildrop/maildir.C | |
| parent | 08727afd05a6a6f5daa7f1fb293be038d43c4ef8 (diff) | |
| download | courier-libs-fc74b7bc645d74c9fc87fa63345b6c6840c73bca.tar.bz2 | |
maildrop: implement FLAGS
Diffstat (limited to 'maildrop/maildir.C')
| -rw-r--r-- | maildrop/maildir.C | 36 | 
1 files changed, 35 insertions, 1 deletions
| diff --git a/maildrop/maildir.C b/maildrop/maildir.C index a1d88ed..926b9d6 100644 --- a/maildrop/maildir.C +++ b/maildrop/maildir.C @@ -130,9 +130,43 @@ static long	counter=0;  		if (f >= 0)  		{ +			Buffer b; + +			b="FLAGS"; + +			const char *flags=GetVarStr(b); +  			tmpname=createInfo.tmpname; -			newname=createInfo.newname;  			tmpname += '\0'; + +			if (flags) +			{ +				const char *p=flags; + +				while (*p) +				{ +					if (strchr("DRSF", *p) == NULL) +					{ +						f=0; +						break; +					} +					++p; +				} +			} + +			if (flags && *flags) +			{ +				newname=createInfo.curname; +				newname += ':'; +				newname += '2'; +				newname += ','; +				newname += flags; +			} +			else +			{ +				newname=createInfo.newname; +			} +  			newname += '\0';  			maildir_tmpcreate_free(&createInfo); | 
