From: Richard M. Stallman Date: Tue, 7 Jan 1997 23:52:21 +0000 (+0000) Subject: (LOCK_PID_MAX): Use sizeof (unsigned long) instead of hardwiring 21. X-Git-Tag: emacs-20.1~3100 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=49b6d120a67691348e884015dd2c343bd1a0d954;p=emacs.git (LOCK_PID_MAX): Use sizeof (unsigned long) instead of hardwiring 21. (lock_file_1): Use LOCK_PID_MAX when allocating lock_info_str instead of hardwiring 21. --- diff --git a/src/filelock.c b/src/filelock.c index 25ab59eb25b..743b8d0e595 100644 --- a/src/filelock.c +++ b/src/filelock.c @@ -89,8 +89,9 @@ typedef struct unsigned long pid; } lock_info_type; -/* When we read the info back, we might need this much more. */ -#define LOCK_PID_MAX 21 /* enough for signed 64 bits plus null */ +/* When we read the info back, we might need this much more, + enough for decimal representation plus null. */ +#define LOCK_PID_MAX (4 * sizeof (unsigned long)) /* Free the two dynamically-allocated pieces in PTR. */ #define FREE_LOCK_INFO(i) do { xfree ((i).user); xfree ((i).host); } while (0) @@ -134,7 +135,8 @@ lock_file_1 (lfname, force) register int err; char *user_name = XSTRING (Fuser_login_name (Qnil))->data; char *host_name = XSTRING (Fsystem_name ())->data; - char *lock_info_str = alloca (strlen (user_name) + strlen (host_name) + 21); + char *lock_info_str = alloca (strlen (user_name) + strlen (host_name) + + LOCK_PID_MAX + 5); sprintf (lock_info_str, "%s@%s.%lu", user_name, host_name, (unsigned long) getpid ());