+++ /dev/null
-From 1222a0d414c52214e1ecc023889595945496acbb Mon Sep 17 00:00:00 2001
-From: Tomas Mraz <tmraz@fedoraproject.org>
-Date: Mon, 13 Jul 2015 11:19:55 +0200
-Subject: In crontab command use a temporary filename that is ignored by crond.
-
----
- src/crontab.c | 23 ++++++++++++-----------
- 1 file changed, 12 insertions(+), 11 deletions(-)
-
-diff --git a/src/crontab.c b/src/crontab.c
-index d165a06..e7a4878 100644
---- a/src/crontab.c
-+++ b/src/crontab.c
-@@ -104,7 +104,7 @@ edit_cmd(void),
- poke_daemon(void),
- check_error(const char *), parse_args(int c, char *v[]), die(int) ATTRIBUTE_NORETURN;
- static int replace_cmd(void), hostset_cmd(void), hostget_cmd(void);
--static char *host_specific_filename(const char *filename, int prefix);
-+static char *host_specific_filename(const char *prefix, const char *suffix);
- static const char *tmp_path(void);
-
- static void usage(const char *msg) ATTRIBUTE_NORETURN;
-@@ -445,26 +445,27 @@ static const char *tmp_path(void) {
- return tmpdir ? tmpdir : "/tmp";
- }
-
--static char *host_specific_filename(const char *filename, int prefix)
-+static char *host_specific_filename(const char *prefix, const char *suffix)
- {
- /*
- * For cluster-wide use, where there is otherwise risk of the same
-- * name being generated on more than one host at once, prefix with
-- * "hostname." or suffix with ".hostname" as requested, and return
-- * static buffer or NULL on failure.
-+ * name being generated on more than one host at once, insert hostname
-+ * separated with dots, and return static buffer or NULL on failure.
- */
-
- static char safename[MAX_FNAME];
-- char hostname[MAXHOSTNAMELEN];
-+ char hostname[MAX_FNAME];
-
- if (gethostname(hostname, sizeof hostname) != 0)
- return NULL;
-
- if (prefix) {
-- if (!glue_strings(safename, sizeof safename, hostname, filename, '.'))
-+ if (!glue_strings(safename, sizeof safename, prefix, hostname, '.'))
- return NULL;
-- } else {
-- if (!glue_strings(safename, sizeof safename, filename, hostname, '.'))
-+ strcpy(hostname, safename);
-+ }
-+ if (suffix) {
-+ if (!glue_strings(safename, sizeof safename, hostname, suffix, '.'))
- return NULL;
- }
-
-@@ -745,7 +746,7 @@ static int replace_cmd(void) {
- char *safename;
-
-
-- safename = host_specific_filename("tmp.XXXXXXXXXX", 1);
-+ safename = host_specific_filename("#tmp", "XXXXXXXXXX");
- if (!safename || !glue_strings(TempFilename, sizeof TempFilename, SPOOL_DIR,
- safename, '/')) {
- TempFilename[0] = '\0';
-@@ -911,7 +912,7 @@ static int hostset_cmd(void) {
- if (!HostSpecified)
- gethostname(Host, sizeof Host);
-
-- safename = host_specific_filename("tmp.XXXXXXXXXX", 1);
-+ safename = host_specific_filename("#tmp", "XXXXXXXXXX");
- if (!safename || !glue_strings(TempFilename, sizeof TempFilename, SPOOL_DIR,
- safename, '/')) {
- TempFilename[0] = '\0';
---
-cgit v0.11.2
-