]> git.wh0rd.org Git - nano.git/commitdiff
Backport r5391 from trunk.
authorChris Allegretta <chrisa@asty.org>
Sun, 15 Nov 2015 07:06:08 +0000 (07:06 +0000)
committerChris Allegretta <chrisa@asty.org>
Sun, 15 Nov 2015 07:06:08 +0000 (07:06 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/branches/nano_2_4_branch@5421 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/files.c

index 861722e9a91163837f8b212ab4b35e50553c95bf..e9023467d50d52746ffa796af6df462ff8bf481a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-06  Benno Schulenberg  <bensberg@justemail.net>
+       * src/files.c (write_lockfile): Don't bail out when the hostname is
+       overlong, but instead truncate it properly and continue.  This fixes
+       Ubuntu bug #1509081 reported by Sam Reed.
+
 2015-10-31  Benno Schulenberg  <bensberg@justemail.net>
        * src/nano.c (copy_from_filestruct): When pasting while the mark is
        on, the mark's pointer needs to be refreshed only when it is on the
index 6081e4a1e8ab702cd33eda2bf9fc0d36cb7f7bd3..d248034712185f30e8dea86915c1ae5e34023df5 100644 (file)
@@ -143,8 +143,12 @@ int write_lockfile(const char *lockfilename, const char *origfilename, bool modi
     mypid = getpid();
 
     if (gethostname(myhostname, 31) < 0) {
-       statusbar(_("Couldn't determine hostname for lock file: %s"), strerror(errno));
-       goto free_and_fail;
+       if (errno == ENAMETOOLONG)
+           myhostname[31] = '\0';
+       else {
+           statusbar(_("Couldn't determine hostname for lock file: %s"), strerror(errno));
+           goto free_and_fail;
+       }
     }
 
     /* Check if the lock exists before we try to delete it...*/