diff options
| author | Gerd Moellmann | 2001-09-13 14:05:17 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-09-13 14:05:17 +0000 |
| commit | b6e97b0af194bbee11d5f727618746e8125d3379 (patch) | |
| tree | 6a1decb6a3c00e62a6934e52f0533643c96e4a3e /src | |
| parent | 81c3310d7b1ddb7970077a85068b1dc8b502042a (diff) | |
| download | emacs-b6e97b0af194bbee11d5f727618746e8125d3379.tar.gz emacs-b6e97b0af194bbee11d5f727618746e8125d3379.zip | |
(current_lock_owner): If readlink returns ERANGE,
take that to mean that the buffer is too small.
Diffstat (limited to 'src')
| -rw-r--r-- | src/filelock.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/filelock.c b/src/filelock.c index 44db9722f91..6e78a05e309 100644 --- a/src/filelock.c +++ b/src/filelock.c | |||
| @@ -436,6 +436,11 @@ current_lock_owner (owner, lfname) | |||
| 436 | bufsize *= 2; | 436 | bufsize *= 2; |
| 437 | lfinfo = (char *) xrealloc (lfinfo, bufsize); | 437 | lfinfo = (char *) xrealloc (lfinfo, bufsize); |
| 438 | len = readlink (lfname, lfinfo, bufsize); | 438 | len = readlink (lfname, lfinfo, bufsize); |
| 439 | #ifdef ERANGE | ||
| 440 | /* HP-UX reports ERANGE if the buffer is too small. */ | ||
| 441 | if (len == -1 && errno == ERANGE) | ||
| 442 | continue; | ||
| 443 | #endif | ||
| 439 | } | 444 | } |
| 440 | while (len >= bufsize); | 445 | while (len >= bufsize); |
| 441 | 446 | ||