diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2010-10-05 15:44:04 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2010-10-05 15:44:04 +0300 |
commit | 3edaa0f6738e29773cc4fa92dd96900c3e4f351e (patch) | |
tree | f50ef481af000ceda74af5b35cb2dc29e40be387 /mailbox/locker.c | |
parent | 3e13a4112af5136b08c4888f627151baee6a1aee (diff) | |
download | mailutils-3edaa0f6738e29773cc4fa92dd96900c3e4f351e.tar.gz mailutils-3edaa0f6738e29773cc4fa92dd96900c3e4f351e.tar.bz2 |
Remove the use of MAXHOSTNAMELEN macro.
* comsat/comsat.c (hostname): Change type.
(comsat_init): Use mu_get_host_name.
* comsat/comsat.h (hostname): Change declaration.
* mailbox/locker.c (lock_dotlock): Use mu_get_host_name.
* mailbox/mutil.c (mu_get_host_name): Rewrite.
* pop3d/pop3d.c (pop3d_mainloop): Remove unnecessary call to
gethostbyname.
* pop3d/pop3d.h (MAXHOSTNAMELEN): Remove definition.
Diffstat (limited to 'mailbox/locker.c')
-rw-r--r-- | mailbox/locker.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/mailbox/locker.c b/mailbox/locker.c index f752c1661..4f0dcf215 100644 --- a/mailbox/locker.c +++ b/mailbox/locker.c @@ -704,14 +704,11 @@ destroy_dotlock (mu_locker_t locker) free (locker->data.dot.nfslock); } -#ifndef MAXHOSTNAMELEN -# define MAXHOSTNAMELEN 256 -#endif - static int lock_dotlock (mu_locker_t locker, enum mu_locker_mode mode) { - char host[MAXHOSTNAMELEN + 1] = "localhost"; + int rc; + char *host = NULL; char pid[11]; /* 10 is strlen(2^32 = 4294967296) */ char now[11]; size_t sz = 0; @@ -729,8 +726,9 @@ lock_dotlock (mu_locker_t locker, enum mu_locker_mode mode) /* build the NFS hitching-post to the lock file */ - gethostname (host, sizeof (host)); - host[MAXHOSTNAMELEN] = 0; + rc = mu_get_host_name (&host); + if (rc) + return rc; snprintf (now, sizeof (now), "%lu", (unsigned long) time (0)); now[sizeof (now) - 1] = 0; @@ -746,10 +744,14 @@ lock_dotlock (mu_locker_t locker, enum mu_locker_mode mode) locker->data.dot.nfslock = malloc (sz); if (!locker->data.dot.nfslock) - return ENOMEM; - + { + free (host); + return ENOMEM; + } + snprintf (locker->data.dot.nfslock, sz, "%s.%s.%s.%s", locker->file, pid, now, host); + free (host); fd = open (locker->data.dot.nfslock, O_WRONLY | O_CREAT | O_EXCL, LOCKFILE_ATTR); |