iAdded option parsing. - irc - Unnamed repository; edit this file 'description' to name the repository. Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/irc.git URL:git://vernunftzentrum.de/irc.git vernunftzentrum.de 70 1Log /ckeen/repos/irc/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/irc/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/irc/refs.gph vernunftzentrum.de 70 1README /ckeen/repos/irc/file/README.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit a10ff13d00eb7fa816a3771b2c4ae7265627a024 /ckeen/repos/irc/commit/a10ff13d00eb7fa816a3771b2c4ae7265627a024.gph vernunftzentrum.de 70 1parent 9ec61b4072285e36baeab8f1ac6d819f9445b56c /ckeen/repos/irc/commit/9ec61b4072285e36baeab8f1ac6d819f9445b56c.gph vernunftzentrum.de 70 hAuthor: Quentin Carbonneaux URL:mailto:qcarbonneaux@gmail.com vernunftzentrum.de 70 iDate: Sun, 25 Mar 2012 10:41:07 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iAdded option parsing. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iThis commit allows users to customize their IRC user name, nick name, Err vernunftzentrum.de 70 iand server. The user name, if not specified, is taken from the Err vernunftzentrum.de 70 ienvironment variable USER. The nick name, if not specified, is taken Err vernunftzentrum.de 70 ifrom IRCNICK. The nick name cannot exceed 63 chars (which is way more Err vernunftzentrum.de 70 ithan what is currently accepted by most IRC servers). Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i irc.c | 42 ++++++++++++++++++++++++++------ Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 35 insertions(+), 7 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/irc.c b/irc.c /ckeen/repos/irc/file/irc.c.gph vernunftzentrum.de 70 i@@ -25,11 +25,12 @@ Err vernunftzentrum.de 70 i #define SCROLL 15 Err vernunftzentrum.de 70 i #define DATEFMT "%H:%M" Err vernunftzentrum.de 70 i #define PFMT "%-12s < %s" Err vernunftzentrum.de 70 i+#define SRV "chat.freenode.org" Err vernunftzentrum.de 70 i+#define PORT 6667 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i enum { ChanLen = 64, LineLen = 512, MaxChans = 16, BufSz = 2048, LogSz = 4096 }; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i char nick[64]; Err vernunftzentrum.de 70 i-char prefix[64]; Err vernunftzentrum.de 70 i int quit, winchg; Err vernunftzentrum.de 70 i int sfd; /* Server file descriptor. */ Err vernunftzentrum.de 70 i struct { Err vernunftzentrum.de 70 i@@ -536,17 +537,44 @@ treset(void) Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i int Err vernunftzentrum.de 70 i-main(void) Err vernunftzentrum.de 70 i+main(int argc, char *argv[]) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i const char *user = getenv("USER"); Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i- if (!user) user="Unknown"; Err vernunftzentrum.de 70 i+ const char *ircnick = getenv("IRCNICK"); Err vernunftzentrum.de 70 i+ const char *server = SRV; Err vernunftzentrum.de 70 i+ unsigned short port = PORT; Err vernunftzentrum.de 70 i+ int o; Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+ while ((o=getopt(argc, argv, "hn:u:s:p:"))>=0) Err vernunftzentrum.de 70 i+ switch (o) { Err vernunftzentrum.de 70 i+ case 'h': Err vernunftzentrum.de 70 i+ case '?': Err vernunftzentrum.de 70 i+ usage: Err vernunftzentrum.de 70 i+ fputs("Usage: irc [-n NICK] [-u USER] [-s SERVER] [-p PORT] [-h]\n", stderr); Err vernunftzentrum.de 70 i+ exit(0); Err vernunftzentrum.de 70 i+ case 'n': Err vernunftzentrum.de 70 i+ if (strlen(optarg)>=sizeof nick) goto usage; Err vernunftzentrum.de 70 i+ strcpy(nick, optarg); Err vernunftzentrum.de 70 i+ break; Err vernunftzentrum.de 70 i+ case 'u': Err vernunftzentrum.de 70 i+ user = optarg; Err vernunftzentrum.de 70 i+ break; Err vernunftzentrum.de 70 i+ case 's': Err vernunftzentrum.de 70 i+ server = optarg; Err vernunftzentrum.de 70 i+ break; Err vernunftzentrum.de 70 i+ case 'p': Err vernunftzentrum.de 70 i+ if (!(port=strtol(optarg, 0, 0))) goto usage; Err vernunftzentrum.de 70 i+ break; Err vernunftzentrum.de 70 i+ } Err vernunftzentrum.de 70 i+ if (!nick[0] && ircnick && strlen(ircnick)