Subject: bug#1688: 23.0.60; ttname returned by system-process-attributes points to nonexisting file

From: Stefan Monnier <[email-masked]>
Date: Mon, 12 Jan 2009 16:04:50 -0500

>> --- sysdep.c.~1.328.~   2009-01-03 07:04:59.000000000 -0800
>> +++ sysdep.c    2009-01-13 01:09:56.000000000 -0800
>> @@ -3322,7 +3322,7 @@
>> 
>> if (MINOR (rdev) >= minor_beg && MINOR (rdev) <= minor_end)
>> {
>> -		   sprintf (name + strlen (name), "%lu", MINOR (rdev));
>> +		   sprintf (name + strlen (name), "/%lu", MINOR (rdev));
>> break;
>> }                                                                                              
> It's not that simple: what happens if `name' is something like "ptys"
> or "tty"?  We need to generate "ptys2" and "tty39" for them, not
> "ptys/2" and "tty/39".

Indeed, it's pretty messy.  Even just procfs_ttyname in itself is pretty
messy (not its implementation, but the need to go through those hoops).

> Faced with this difficulty, I decided not to bother, since the value
> of `ttname' is not documented to return a valid file name.

> Perhaps some Linux guru (which I ain't) can suggest an easy solution.

I think it's OK for now.  When we really need something better, we'll
just look at the `ps' code.

        Stefan