aboutsummaryrefslogtreecommitdiff
path: root/network/ircII/NOTES_TO_SELF
blob: 13128c3b0ea48a60ef1fecff10174c2d6c967003 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Notes to self:

wserv and ircio are executed correctly (in the new libexec/ircII dir),
tested them with the following results:

wserv seems to work fine, in the brief bit of testing I did
with it (/window create and related commands).

ircio (the -S option) doesn't work with libera.chat: with SSL
it fails to connect at all, and without SSL it connects but the
server closes the connection before (or during?) sending the
MOTD. I thought it might be due to the 4K buffer size in ircio,
but the MOTD on libera is a lot shorter than that.

I haven't tried other IRC nets with -S, because I don't actually think
anyone cares about it (other ircII forked clients like BitchX and Epic
never even included it).

--

The help and support scripts are installed in /usr/share/irc. I
thought about changing this to /usr/share/ircII, but don't really see
the point.

--

Compiling with -Wall, we get:

/tmp/SBo/ircii/source/hook.c:292:40: warning: ‘%3.3u’ directive
output may be truncated writing between 3 and 10 bytes into a region
of size 4 [-Wformat-truncation=]

On further investigation, it's a bogus warning: yes, 3.3%u could
produce up to 10 digits... but before line 292, there's code that
rejects any number above 999. This means sprintf will write 3 bytes of
digits followed by the terminating \0.

--

We compile with ncurses, not termcap... but the code in term.c uses
termcap functions. These are actually provided by ncurses doing
termcap emulation. See curs_termcap(3x). In practice this works fine,
and lets us use terminals like rxvt-unicode, for which terminfo
entries exist but are too new to be included in crusty old termcap.