sic is an extremely simple IRC client. It consists of less than 250 lines of code. It is the little brother of irc it.
Go to file
Hiltjo Posthuma 058547e707 util: trim() fix for UB on pointer arithmetic
Follow-up fix on commit df4c061136

"
While it is true reversing the condition solves a single-byte read at
one before s, there is a second instance of UB.

Having a pointer to one before an object is in of itself UB in C, it's
on the side of language lawyering, but it's UB.
I add here a quote from a C standard draft:
> When an expression that has integer type is added to or subtracted
> from a pointer, the result has the type of the pointer operand.
> If both the pointer operand and the result point to elements of the
> same array object, or one past the last element of the array object,
> the evaluation shall not produce an overflow; otherwise, the
> behavior is undefined.
Taken from: http://www.iso-9899.info/n1570.html#6.5.6p8
"

Thanks Guilherme Janczak <guilherme.janczak@yandex.com>
2021-05-06 12:20:30 +02:00
LICENSE added Joerg Jung's pledge patch 2017-03-18 19:24:55 +01:00
Makefile Makefile improvements 2021-05-06 01:45:51 +02:00
README README: fix a minor typo and make a small rewording 2021-05-06 01:47:08 +02:00
arg.h applied 3 additional patches by Dimitris 2014-11-14 16:06:28 +01:00
config.def.h applied Eric's follow up patch 2014-11-12 11:18:50 +01:00
sic.1 a few corrections to manpage 2012-04-20 00:15:32 +01:00
sic.c fix undefined behaviour of using isspace ctype function 2021-05-06 01:09:21 +02:00
strlcpy.c added Joerg Jung's pledge patch 2017-03-18 19:24:55 +01:00
util.c util: trim() fix for UB on pointer arithmetic 2021-05-06 12:20:30 +02:00

README

sic - simple irc client
=======================
sic is an extremely fast, small and simple irc client.  It reads commands from
standard input and prints all server output to standard output. It multiplexes
also all channel traffic into one output so that you don't have to switch
different channel buffers: that's actually a feature.


Installation
------------
Edit the Makefile or override the flags to match your local setup. sic is
installed into /usr/local by default.

Afterwards enter the following command to build and install sic 
(if necessary as root):

	$ make
	# make install


Running sic
-----------
Simply invoke the 'sic' command with the required arguments.