On 10/17/06, Axel Liljencrantz <[EMAIL PROTECTED]> wrote:
[...]
> patch in the darcs tree that makes the following changes:
>
> * The character set of fishd, both in the fishd.HOSTNAME file and over
> the socket, is ASCII. Non-ASCII characters and characters below 32 are
> backslash escaped.
> * If a character is not ascii, all clients must try to read it as
> UTF-8. But sending UTF-8 data is a bug. This is to increase robustness
> and backwards compatibility.
> * If a line contains a non-UTF-8 character, the entire line is ignored.
[...]

When file ~/.fihsd.HOSTNAME does not exist, fish seems to start OK and
writes the following to /tmp/fishd.log.USERNAME.  But when I try to
execute any command, fish (not fishd) hangs, using up all the
processor.  It does not write anything more to /tmp/fishd.log.USERNAME
after it starts.




execve("/usr/local/bin/fishd", ["fishd"], [/* 54 vars */]) = 0
uname({sys="Linux", node="asparuh", ...}) = 0
brk(0)                                  = 0x8054000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7f0c000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7f0b000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7f0a000
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54871, ...}) = 0
old_mmap(NULL, 54871, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7efc000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libncurses.so.5", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \343\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=262860, ...}) = 0
old_mmap(NULL, 264108, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
3, 0) = 0xb7ebb000
old_mmap(0xb7ef3000, 32768, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38000) = 0xb7ef3000
old_mmap(0xb7efb000, 1964, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7efb000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220?0A"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1235732, ...}) = 0
old_mmap(0x412ef000, 1238972, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x412ef000
old_mmap(0x41414000, 28672, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x125000) = 0x41414000
old_mmap(0x4141b000, 10172, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4141b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\373"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9756, ...}) = 0
old_mmap(0x419af000, 11016, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x419af000
old_mmap(0x419b1000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x419b1000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7eba000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7eba8e0,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_
present:0, useable:1}) = 0
munmap(0xb7efc000, 54871)               = 0
brk(0)                                  = 0x8054000
brk(0x8075000)                          = 0x8075000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1
ENOENT (No such file or directory)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2586, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7f09000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2586
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7f09000, 4096)                = 0
open("/usr/lib/locale/ASCII/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale-langpack/ASCII/LC_IDENTIFICATION", O_RDONLY) =
-1 ENOENT (No such file or directory)
uname({sys="Linux", node="asparuh", ...}) = 0
getpid()                                = 10201
unlink("/tmp/fishd.socket.philip.lock.asparuh.10201") = -1 ENOENT (No
such file or directory)
open("/tmp/fishd.socket.philip.lock.asparuh.10201", O_RDONLY|O_CREAT, 07) = 3
close(3)                                = 0
stat64("/tmp/fishd.socket.philip.lock.asparuh.10201",
{st_mode=S_IFREG|05, st_size=0, ...}) = 0
gettimeofday({1161146108, 258110}, NULL) = 0
link("/tmp/fishd.socket.philip.lock.asparuh.10201",
"/tmp/fishd.socket.philip.lock") = 0
unlink("/tmp/fishd.socket.philip.lock.asparuh.10201") = 0
_llseek(2, 0, [4293], SEEK_CUR)         = 0
fstat64(2, {st_mode=S_IFREG|0755, st_size=4334, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7f09000
fstat64(2, {st_mode=S_IFREG|0755, st_size=4479, ...}) = 0
mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7f05000
munmap(0x4141a0d4, 4096)                = -1 EINVAL (Invalid argument)
write(2, "f", 1f)                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, "h", 1h)                        = 1
write(2, "d", 1d)                        = 1
write(2, ":", 1:)                        = 1
write(2, " ", 1 )                        = 1
write(2, "C", 1C)                        = 1
write(2, "o", 1o)                        = 1
write(2, "n", 1n)                        = 1
write(2, "n", 1n)                        = 1
write(2, "e", 1e)                        = 1
write(2, "c", 1c)                        = 1
write(2, "t", 1t)                        = 1
write(2, " ", 1 )                        = 1
write(2, "t", 1t)                        = 1
write(2, "o", 1o)                        = 1
write(2, " ", 1 )                        = 1
write(2, "s", 1s)                        = 1
write(2, "o", 1o)                        = 1
write(2, "c", 1c)                        = 1
write(2, "k", 1k)                        = 1
write(2, "e", 1e)                        = 1
write(2, "t", 1t)                        = 1
write(2, " ", 1 )                        = 1
write(2, "a", 1a)                        = 1
write(2, "t", 1t)                        = 1
write(2, " ", 1 )                        = 1
write(2, "/", 1/)                        = 1
write(2, "t", 1t)                        = 1
write(2, "m", 1m)                        = 1
write(2, "p", 1p)                        = 1
write(2, "/", 1/)                        = 1
write(2, "f", 1f)                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, "h", 1h)                        = 1
write(2, "d", 1d)                        = 1
write(2, ".", 1.)                        = 1
write(2, "s", 1s)                        = 1
write(2, "o", 1o)                        = 1
write(2, "c", 1c)                        = 1
write(2, "k", 1k)                        = 1
write(2, "e", 1e)                        = 1
write(2, "t", 1t)                        = 1
write(2, ".", 1.)                        = 1
write(2, "p", 1p)                        = 1
write(2, "h", 1h)                        = 1
write(2, "i", 1i)                        = 1
write(2, "l", 1l)                        = 1
write(2, "i", 1i)                        = 1
write(2, "p", 1p)                        = 1
write(2, "\n", 1
)                       = 1
socket(PF_FILE, SOCK_STREAM, 0)         = 3
connect(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110)
= -1 ENOENT (No such file or directory)
unlink("/tmp/fishd.socket.philip")      = -1 ENOENT (No such file or directory)
bind(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = 0
fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
listen(3, 64)                           = 0
unlink("/tmp/fishd.socket.philip.lock") = 0
clone(fishd: Could not open load/save file. No previous saves?
open: No such file or directory
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0xb7eba928) = 10202
write(2, "f", 1f)                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, "h", 1h)                        = 1
write(2, "d", 1d)                        = 1
write(2, ":", 1:)                        = 1
write(2, " ", 1 )                        = 1
write(2, "P", 1P)                        = 1
write(2, "a", 1a)                        = 1
write(2, "r", 1r)                        = 1
write(2, "e", 1e)                        = 1
write(2, "n", 1n)                        = 1
write(2, "t", 1t)                        = 1
write(2, " ", 1 )                        = 1
write(2, "p", 1p)                        = 1
write(2, "r", 1r)                        = 1
write(2, "o", 1o)                        = 1
write(2, "c", 1c)                        = 1
write(2, "e", 1e)                        = 1
write(2, "s", 1s)                        = 1
write(2, "s", 1s)                        = 1
write(2, " ", 1 )                        = 1
write(2, "e", 1e)                        = 1
write(2, "x", 1x)                        = 1
write(2, "i", 1i)                        = 1
write(2, "t", 1t)                        = 1
write(2, "i", 1i)                        = 1
write(2, "n", 1n)                        = 1
write(2, "g", 1g)                        = 1
write(2, " ", 1 )                        = 1
write(2, "(", 1()                        = 1
write(2, "T", 1T)                        = 1
write(2, "h", 1h)                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, " ", 1 )                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, " ", 1 )                        = 1
write(2, "n", 1n)                        = 1
write(2, "o", 1o)                        = 1
write(2, "r", 1r)                        = 1
write(2, "m", 1m)                        = 1
write(2, "a", 1a)                        = 1
write(2, "l", 1l)                        = 1
write(2, ")", 1))                        = 1
write(2, "\n", 1
)                       = 1
exit_group(0)                           = ?
fishd: No more clients. Quitting








When file ~/.fishd.HOSTNAME exists, even when it is empty, fishd
apparently exits, as Martin said. File ~/.fishd.HOSTNAME is unchanged
if it was empty.  File /tmp/fishd.log.USERNAME differs notably from
the prevoius case only in the following lines:





111,112c111,112
< connect(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"},
110) = -1 ENOENT (No such file or directory)
< unlink("/tmp/fishd.socket.philip")      = -1 ENOENT (No such file or
directory)
---
> connect(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = -1 
> ECONNREFUSED (Connection refused)
> unlink("/tmp/fishd.socket.philip")      = 0
117,119c117,118
< clone(fishd: Could not open load/save file. No previous saves?
< open: No such file or directory
< child_stack=0,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0xb7f6c928) = 11870
---
> clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
> child_tidptr=0xb7f48928) = 11429
> --- SIGCHLD (Child exited) @ 0 (0) ---



The full contents are:





execve("/usr/local/bin/fishd", ["fishd"], [/* 53 vars */]) = 0
uname({sys="Linux", node="asparuh", ...}) = 0
brk(0)                                  = 0x8054000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7fbe000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7fbd000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7fbc000
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54871, ...}) = 0
old_mmap(NULL, 54871, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fae000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libncurses.so.5", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \343\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=262860, ...}) = 0
old_mmap(NULL, 264108, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
3, 0) = 0xb7f6d000
old_mmap(0xb7fa5000, 32768, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38000) = 0xb7fa5000
old_mmap(0xb7fad000, 1964, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fad000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220?0A"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1235732, ...}) = 0
old_mmap(0x412ef000, 1238972, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x412ef000
old_mmap(0x41414000, 28672, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x125000) = 0x41414000
old_mmap(0x4141b000, 10172, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4141b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\373"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9756, ...}) = 0
old_mmap(0x419af000, 11016, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x419af000
old_mmap(0x419b1000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x419b1000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7f6c000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f6c8e0,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_
munmap(0xb7fae000, 54871)               = 0
brk(0)                                  = 0x8054000
brk(0x8075000)                          = 0x8075000
uname({sys="Linux", node="asparuh", ...}) = 0
getpid()                                = 11869
unlink("/tmp/fishd.socket.philip.lock.asparuh.11869") = -1 ENOENT (No
such file or directory)
open("/tmp/fishd.socket.philip.lock.asparuh.11869", O_RDONLY|O_CREAT, 07) = 3
close(3)                                = 0
stat64("/tmp/fishd.socket.philip.lock.asparuh.11869",
{st_mode=S_IFREG|05, st_size=0, ...}) = 0
gettimeofday({1161149555, 509885}, NULL) = 0
link("/tmp/fishd.socket.philip.lock.asparuh.11869",
"/tmp/fishd.socket.philip.lock") = 0
unlink("/tmp/fishd.socket.philip.lock.asparuh.11869") = 0
_llseek(2, 0, [3594], SEEK_CUR)         = 0
fstat64(2, {st_mode=S_IFREG|0644, st_size=3635, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7fbb000
fstat64(2, {st_mode=S_IFREG|0644, st_size=3780, ...}) = 0
mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7fb7000
munmap(0x4141a0d4, 4096)                = -1 EINVAL (Invalid argument)
write(2, "f", 1f)                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, "h", 1h)                        = 1
write(2, "d", 1d)                        = 1
write(2, ":", 1:)                        = 1
write(2, " ", 1 )                        = 1
write(2, "C", 1C)                        = 1
write(2, "o", 1o)                        = 1
write(2, "n", 1n)                        = 1
write(2, "n", 1n)                        = 1
write(2, "e", 1e)                        = 1
write(2, "c", 1c)                        = 1
write(2, "t", 1t)                        = 1
write(2, " ", 1 )                        = 1
write(2, "t", 1t)                        = 1
write(2, "o", 1o)                        = 1
write(2, " ", 1 )                        = 1
write(2, "s", 1s)                        = 1
write(2, "o", 1o)                        = 1
write(2, "c", 1c)                        = 1
write(2, "k", 1k)                        = 1
write(2, "e", 1e)                        = 1
write(2, "t", 1t)                        = 1
write(2, " ", 1 )                        = 1
write(2, "a", 1a)                        = 1
write(2, "t", 1t)                        = 1
write(2, " ", 1 )                        = 1
write(2, "/", 1/)                        = 1
write(2, "t", 1t)                        = 1
write(2, "m", 1m)                        = 1
write(2, "p", 1p)                        = 1
write(2, "/", 1/)                        = 1
write(2, "f", 1f)                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, "h", 1h)                        = 1
write(2, "d", 1d)                        = 1
write(2, ".", 1.)                        = 1
write(2, "s", 1s)                        = 1
write(2, "o", 1o)                        = 1
write(2, "c", 1c)                        = 1
write(2, "k", 1k)                        = 1
write(2, "e", 1e)                        = 1
write(2, "t", 1t)                        = 1
write(2, ".", 1.)                        = 1
write(2, "p", 1p)                        = 1
write(2, "h", 1h)                        = 1
write(2, "i", 1i)                        = 1
write(2, "l", 1l)                        = 1
write(2, "i", 1i)                        = 1
write(2, "p", 1p)                        = 1
write(2, "\n", 1
)                       = 1
socket(PF_FILE, SOCK_STREAM, 0)         = 3
connect(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110)
= -1 ENOENT (No such file or directory)
unlink("/tmp/fishd.socket.philip")      = -1 ENOENT (No such file or directory)
bind(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = 0
fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
listen(3, 64)                           = 0
unlink("/tmp/fishd.socket.philip.lock") = 0
clone(fishd: Could not open load/save file. No previous saves?
open: No such file or directory
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0xb7f6c928) = 11870
write(2, "f", 1f)                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, "h", 1h)                        = 1
write(2, "d", 1d)                        = 1
write(2, ":", 1:)                        = 1
write(2, " ", 1 )                        = 1
write(2, "P", 1P)                        = 1
write(2, "a", 1a)                        = 1
write(2, "r", 1r)                        = 1
write(2, "e", 1e)                        = 1
write(2, "n", 1n)                        = 1
write(2, "t", 1t)                        = 1
write(2, " ", 1 )                        = 1
write(2, "p", 1p)                        = 1
write(2, "r", 1r)                        = 1
write(2, "o", 1o)                        = 1
write(2, "c", 1c)                        = 1
write(2, "e", 1e)                        = 1
write(2, "s", 1s)                        = 1
write(2, "s", 1s)                        = 1
write(2, " ", 1 )                        = 1
write(2, "e", 1e)                        = 1
write(2, "x", 1x)                        = 1
write(2, "i", 1i)                        = 1
write(2, "t", 1t)                        = 1
write(2, "i", 1i)                        = 1
write(2, "n", 1n)                        = 1
write(2, "g", 1g)                        = 1
write(2, " ", 1 )                        = 1
write(2, "(", 1()                        = 1
write(2, "T", 1T)                        = 1
write(2, "h", 1h)                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, " ", 1 )                        = 1
write(2, "i", 1i)                        = 1
write(2, "s", 1s)                        = 1
write(2, " ", 1 )                        = 1
write(2, "n", 1n)                        = 1
write(2, "o", 1o)                        = 1
write(2, "r", 1r)                        = 1
write(2, "m", 1m)                        = 1
write(2, "a", 1a)                        = 1
write(2, "l", 1l)                        = 1
write(2, ")", 1))                        = 1
write(2, "\n", 1
)                       = 1
exit_group(0)                           = ?

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Fish-users mailing list
Fish-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fish-users

Reply via email to