dovecot-2.2-pigeonhole: lib-sieve: Added method to script object...
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Wed Dec 25 22:51:29 EET 2013
details: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/cafc7f640c97
changeset: 1827:cafc7f640c97
user: Stephan Bosch <stephan at rename-it.nl>
date: Wed Dec 25 21:40:19 2013 +0100
description:
lib-sieve: Added method to script object for obtaining the directory where the script binary is stored.
diffstat:
src/lib-sieve/sieve-script-dict.c | 1 +
src/lib-sieve/sieve-script-file.c | 9 +++++++++
src/lib-sieve/sieve-script-private.h | 2 ++
src/lib-sieve/sieve-script.c | 14 ++++++++++++++
src/lib-sieve/sieve-script.h | 3 +++
5 files changed, 29 insertions(+), 0 deletions(-)
diffs (86 lines):
diff -r c3d99cdd49f1 -r cafc7f640c97 src/lib-sieve/sieve-script-dict.c
--- a/src/lib-sieve/sieve-script-dict.c Wed Dec 25 21:36:55 2013 +0100
+++ b/src/lib-sieve/sieve-script-dict.c Wed Dec 25 21:40:19 2013 +0100
@@ -289,6 +289,7 @@
sieve_dict_script_binary_write_metadata,
sieve_dict_script_binary_load,
sieve_dict_script_binary_save,
+ NULL,
NULL,
sieve_dict_script_equals
diff -r c3d99cdd49f1 -r cafc7f640c97 src/lib-sieve/sieve-script-file.c
--- a/src/lib-sieve/sieve-script-file.c Wed Dec 25 21:36:55 2013 +0100
+++ b/src/lib-sieve/sieve-script-file.c Wed Dec 25 21:40:19 2013 +0100
@@ -354,6 +354,14 @@
script->st.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO), error_r);
}
+static const char *sieve_file_script_binary_get_directory
+(struct sieve_script *_script)
+{
+ struct sieve_file_script *script = (struct sieve_file_script *)_script;
+
+ return script-> dirpath;
+}
+
const struct sieve_script sieve_file_script = {
.driver_name = SIEVE_FILE_SCRIPT_DRIVER_NAME,
.v = {
@@ -368,6 +376,7 @@
NULL,
sieve_file_script_binary_load,
sieve_file_script_binary_save,
+ sieve_file_script_binary_get_directory,
sieve_file_script_get_size,
diff -r c3d99cdd49f1 -r cafc7f640c97 src/lib-sieve/sieve-script-private.h
--- a/src/lib-sieve/sieve-script-private.h Wed Dec 25 21:36:55 2013 +0100
+++ b/src/lib-sieve/sieve-script-private.h Wed Dec 25 21:40:19 2013 +0100
@@ -32,6 +32,8 @@
int (*binary_save)
(struct sieve_script *script, struct sieve_binary *sbin,
bool update, enum sieve_error *error_r);
+ const char *(*binary_get_directory)
+ (struct sieve_script *script);
int (*get_size)
(const struct sieve_script *script, uoff_t *size_r);
diff -r c3d99cdd49f1 -r cafc7f640c97 src/lib-sieve/sieve-script.c
--- a/src/lib-sieve/sieve-script.c Wed Dec 25 21:36:55 2013 +0100
+++ b/src/lib-sieve/sieve-script.c Wed Dec 25 21:40:19 2013 +0100
@@ -542,6 +542,20 @@
return script->v.binary_save(script, sbin, update, error_r);
}
+const char *sieve_script_binary_get_directory
+(struct sieve_script *script)
+{
+ if ( script->bin_dir != NULL &&
+ sieve_script_setup_bindir(script, 0700) >= 0 ) {
+ return script->bin_dir;
+ }
+
+ if ( script->v.binary_get_directory == NULL )
+ return NULL;
+
+ return script->v.binary_get_directory(script);
+}
+
int sieve_script_setup_bindir
(struct sieve_script *script, mode_t mode)
{
diff -r c3d99cdd49f1 -r cafc7f640c97 src/lib-sieve/sieve-script.h
--- a/src/lib-sieve/sieve-script.h Wed Dec 25 21:36:55 2013 +0100
+++ b/src/lib-sieve/sieve-script.h Wed Dec 25 21:40:19 2013 +0100
@@ -68,6 +68,9 @@
(struct sieve_script *script, struct sieve_binary *sbin, bool update,
enum sieve_error *error_r);
+const char *sieve_script_binary_get_directory
+ (struct sieve_script *script);
+
/*
* Stream management
*/
More information about the dovecot-cvs
mailing list