On Fri, 22 Sep 2000, Thomas Hauser wrote:

> I had problems to connect to one particular sgi Origin 2000. 
> I get the message
>  (invalid-read-syntax "Integer constant overflow in reader"
>   "1186988379" 10) read(#<buffer "*tramp/scp thauser@modi4*">)
> 
> I could trace it down to
> (defconst tramp-perl-file-attributes (concat
>  "$f = $ARGV[0];
> @s = lstat($f);
> if (($s[2] & 0170000) == 0120000) { $l = readlink($f); $l = \"\\\"$l\\\"\"; }
> elsif (($s[2] & 0170000) == 040000) { $l = \"t\"; }
> else { $l = \"nil\" };
> printf(\"(%s %u %u %u (%u %u) (%u %u) (%u %u) %u %u t %u (%u %u))\\n\",
> $l, $s[3], $s[4], $s[5], $s[8] >> 16 & 0xffff, $s[8] & 0xffff,
> $s[9] >> 16 & 0xffff, $s[9] & 0xffff, $s[10] >> 16 & 0xffff, $s[10] & 0xffff,
> $s[7], $s[2], $s[1], $s[0] >> 16 & 0xffff, $s[0] & 0xffff);"
>                  ^
> Apparently the lstat commands returns a too large integer for the inode
> count. My fix was just setting it to some constant and then tramp
> worked for this sgi.

Daniel,

since you appear to be so good at writing concise Perl code -- can you
see how to solve this?  My documentation for file-attributes says that
the inode number can be a cons cell (HIGH . LOW), similar to the time
thingies (note cons cell vs two-element list, though).  I wonder if it
is right to always produce a cons cell.  The documentation says that
the result is a cons cell if the value is too large...

Not sure about XEmacs here.

kai
-- 
I like BOTH kinds of music.

Reply via email to