emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacs server fails to start with large uid on unix


From: Stefan Monnier
Subject: Re: emacs server fails to start with large uid on unix
Date: Mon, 08 Jan 2007 17:30:45 -0500
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.91 (gnu/linux)

>> Does the patch below help?
> Not really.

Actually it doesn't yet, but it will once the file-attributes part
gets fixed.

> I think that number is too large for an emacs int.  So the problem is in
> `file-attributes' then, I think.  --BR

Indeed, I believe the additional patch below may get us closer.


        Stefan


--- orig/src/dired.c
+++ mod/src/dired.c
@@ -966,16 +966,18 @@
   values[1] = make_number (s.st_nlink);
   if (NILP (id_format) || EQ (id_format, Qinteger))
     {
-      values[2] = make_number (s.st_uid);
-      values[3] = make_number (s.st_gid);
+      values[2] = make_fixnum_or_float (s.st_uid);
+      values[3] = make_fixnum_or_float (s.st_gid);
     }
   else
     {
       BLOCK_INPUT;
       pw = (struct passwd *) getpwuid (s.st_uid);
-      values[2] = (pw ? build_string (pw->pw_name) : make_number (s.st_uid));
+      values[2] = (pw ? build_string (pw->pw_name)
+                  : make_fixnum_or_float (s.st_uid));
       gr = (struct group *) getgrgid (s.st_gid);
-      values[3] = (gr ? build_string (gr->gr_name) : make_number (s.st_gid));
+      values[3] = (gr ? build_string (gr->gr_name)
+                  : make_fixnum_or_float (s.st_gid));
       UNBLOCK_INPUT;
     }
   values[4] = make_time (s.st_atime);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]