This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix updwtmp on 32-bit arches


Hi!

updwtmp etc. can't apparently handle >= 2GB wtmp on 32-bit architectures.

2007-03-15  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4130]
	* login/utmp_file.c (setutent_file): Use O_LARGEFILE for
	open_not_cancel_2.
	(updwtmp_file): Likewise.

--- libc/login/utmp_file.c.jj	2005-12-14 12:33:40.000000000 +0100
+++ libc/login/utmp_file.c	2007-03-15 13:30:19.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2002, 2003, 2004, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>
    and Paul Janzen <pcj@primenet.com>, 1996.
@@ -140,11 +140,11 @@ setutent_file (void)
 
       file_name = TRANSFORM_UTMP_FILE_NAME (__libc_utmp_file_name);
 
-      file_fd = open_not_cancel_2 (file_name, O_RDWR);
+      file_fd = open_not_cancel_2 (file_name, O_RDWR | O_LARGEFILE);
       if (file_fd == -1)
 	{
 	  /* Hhm, read-write access did not work.  Try read-only.  */
-	  file_fd = open_not_cancel_2 (file_name, O_RDONLY);
+	  file_fd = open_not_cancel_2 (file_name, O_RDONLY | O_LARGEFILE);
 	  if (file_fd == -1)
 	    return 0;
 	}
@@ -459,7 +459,7 @@ updwtmp_file (const char *file, const st
   int fd;
 
   /* Open WTMP file.  */
-  fd = open_not_cancel_2 (file, O_WRONLY);
+  fd = open_not_cancel_2 (file, O_WRONLY | O_LARGEFILE);
   if (fd < 0)
     return -1;
 

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]