diff options
Diffstat (limited to 'net-mail/vmailmgr-tools/files/vmailmgr-tools-0.2-quota.patch')
-rw-r--r-- | net-mail/vmailmgr-tools/files/vmailmgr-tools-0.2-quota.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/net-mail/vmailmgr-tools/files/vmailmgr-tools-0.2-quota.patch b/net-mail/vmailmgr-tools/files/vmailmgr-tools-0.2-quota.patch new file mode 100644 index 000000000000..214df9a6cb72 --- /dev/null +++ b/net-mail/vmailmgr-tools/files/vmailmgr-tools-0.2-quota.patch @@ -0,0 +1,46 @@ +diff -Nru vmailmgr-tools-0.2.orig/vcheckquota.c vmailmgr-tools-0.2/vcheckquota.c +--- vmailmgr-tools-0.2.orig/vcheckquota.c 2006-06-15 06:22:31.000000000 +0300 ++++ vmailmgr-tools-0.2/vcheckquota.c 2006-06-15 07:25:14.936298750 +0300 +@@ -33,10 +33,10 @@ + const char program[] = "vcheckquota"; + const int msg_show_pid = 0; + const char cli_help_prefix[] = "vmailmgr quota enforcement program\n"; +-const char cli_help_suffix[] = "\ +-Warning: the soft-message is linked into the users maildir once for each\ +-message that is received while the account is over its soft quota. This may\ +-result in multiple warning messages.\n"; ++const char cli_help_suffix[] = "\n" ++"Warning: the soft-message is linked into the users maildir once for each\n" ++"message that is received while the account is over its soft quota. This may\n" ++"result in multiple warning messages.\n"; + const char cli_args_usage[] = ""; + const int cli_args_min = 0; + const int cli_args_max = 0; +@@ -58,8 +58,13 @@ + static struct stat st; + static void wrap_stat(const char* path) + { +- if (stat(path, &st) == -1) +- die3sys(111, "Cannot stat '", path, "'"); ++ if (stat(path, &st) < 0) { ++ if (errno == ENOENT) { ++ st.st_blocks = 0; ++ st.st_mode = 0; ++ } else ++ die3sys(111, "Cannot stat '", path, "'"); ++ } + } + + static unsigned long stat_size(const char* path) +@@ -77,8 +82,10 @@ + DIR* dir; + direntry* entry; + +- if ((dir = opendir(path)) == 0) ++ if ((dir = opendir(path)) == 0) { ++ if (errno == ENOENT) return; + die3sys(111, "Could not open directory '", path, "'"); ++ } + + while((entry = readdir(dir)) != 0) { + const char* name = entry->d_name; |