CVS log for epic5/include/irc_std.h |
![]() |
Request diff between arbitrary revisions
* Roll in a bunch of changes from larne to make epic5 more vms-friendly * Rename if.h -> ifcmd.h (larne) -- Make sure you rerun configure! * Run make depend to pick up name change of if.h * Check for <sys/param.h> in configure (larne) * Extern funcs are case insensitive in strict c90, fix (larne) * Rename options -> options.h since vms requires a dot in filename (larne) * Change "readonly" -> "rdonly" since "readonly" is a symbol in vms. (larne) * Pull in "compat.h" for gailib.c and glob.c (larne) * Set stdout to be explciitly line buffered at startup (larne) * Returning a value from void functino forbidden by strict c90. fix (larne) * Fix some compiler warnings that were lying around. * There are more changes forthcoming, these were the easy ones.
Roll in all changes larne has requested for his porting effort, including all the stuff already pushed into epic4.
* Add /on signal (pegasus) * Fix build on interix (twincest) * Fix compile warnings and a c99-ism * Fix another panic() causable by /echo. ugh.
* Add split_string() which converts a general delimited string to (char **) * Add $splitw(delim string) which converts delimited string into a dword list * Use $unsplit() to convert $splitw() into a uword list (see UPDATES) * Fix ./configure --without-ipv6 to allow compiling on opensewer.
--- This is a bunch of stuff I've been sitting on while I wait for howl to finish what he was doing. --- * Add support for ./configure --localdir * Add support for ./configure --with-iconv=/usr/local * Add support for looking for iconv in configure in various places * Make configure check for nanosleep(). * Add function decls for [sg]et_server_realname() * New version of screen.e * Change "filename" to "local_filename" in dcc's, in prep of further work. * Un-revert a few minor things.
* Add /lastlog -rewrite (see UPDATES) * Add /set lastlog_rewrite as a special favor for larne.
Normalize the BUILT_IN_BINDING/BUILT_IN_KEYBINDING macros.
* Make the build work with socks5 again, for freebsd ports support * Add malloc_strcat3_c(). * Optimize malloc_strcat_word_c
* Include <stddef.h> if we can, for no particular reason... * Nix now unused mangle_line(). yay! * Use (intptr_t) instead of (intmax_t) to treat pointers as integers... * Try to handle failures from the dns helpers with more grace.
* Use "intmax_t" for dcc byte counts, eliminate notion of "packets". * Use INTMAX_FORMAT to format intmax_t's in printf formats. * Change %D status bar expando to look like "0.1Kb of 2.3Mb" (no packets) * Choke on dcc send offers that don't have file sizes. * Make a feeble attempt to handle 32-bit rollover on dcc get's > 2gb. * Use "intmax_t" for the new math parser, 64 bit int's ahoy! * Use INTMAX_FORMAT to format intmax_t's in new math parser.
Add configure glop for intmax_t for c90 systems. Will start using later.
* Add --with-multiplex=[select|poll|kqueue|pthread] to configure
* Check thread-safety of SSL in configure when using pthreads.
* Don't unconditionally skip leading :'s in symbol names.
* When calling functions, handle skipping leading :'s specially.
* Add support for pthread locking for ssl to ssl.c
* Add %{2}+ and %{3}+ status expandos that only show the mode string.
* Use AI_ADDRCONFIG flag to tell getaddrinfo() we only want addrs we can use.
* Make $getsets() work again. * Fix alloca() warning for freebsd-current * Fix warnings about static variables not used * Fix /set notify_level, which is supposed to cascade to /window notify_level * Fix /set lastlog_level, same thing.
* Make stripcrap(ALL) exclude "ALL_OFF", so I can... * Fix bug with $stripcrap(ALL,-BOLD ^B^B^Btest). (rb BlackJac) * Make the #define Char const char thing global to all of epic now. * Whack /set scroll. * Create a "/set data" type (VARIABLE) which is union of (int) and (char *). * Expose VARIABLE and variable types in vars.h for others to use. * Break init of /set's into two parts, one to malloc() the set data * The second part is to init the default values once command line is done. * Fix some warnings from --with-warns * Fix all /set callbacks to accept a (void *)(VARIABLE *) variable * /Set callbacks can now directly modify the /set via that variable! * So don't allow direct setting of /set's from outside vars.c. * Everybody must use set_var_value() which is the backend to /set. * Whack the /IRCNAME and /REALNAME variable -- use /SET REALNAME, eh! * Hack up /xecho -x to bide my time until i whack all those /sets it uses. * Don't call set_input_prompt() in main() any more, it's handled elsewhere. * Whack /set logfile callback, since nobody seems to have missed it. * Whack the "number" (float) data in /set since i wasn't gonna use it. * Whack the "GLOBAL/CHANGED" tracking in /set's. Tell me if you miss this. * Unify output of /set values as "[New|Current] value of <var> is <val>" * Don't limit the size of /set continued_line, this will be revisited soon. * Quick and dirty hack to work around adm's bug, will fix this later.
* Move some defines from comands.h to where they belong * Add and remove func decls in header files as necessary. * Add /wait =<fd> which returns when a nonblocking dcc connection finishes * Make all keybinding funcs/decls use the BUILT_IN_KEYBINDING macro. * Make the BUILT_IN_KEYBINDING macro use unsigned chars. * Hide (struct Key) inside keys.c, and use (void *) to hold state. * Make the input line use (unsigned char), not (char), huzzah! * Make the "othername" ($3 in /on dcc_raw "E") the port number. * Avoid a NULL deref with "parse_command" keybinding.
Include <stdint.h> and <inttypes.h> if they exist.
Commit 541
* Move #define CTCP_* into ctcp.h
* Add /xdebug extractw_debug
* Move #define LOCAL_COPY and SAFE into irc_std.h
* Create compat.h, move all the compat.c decls into there (from ircaux.h)
* Create network.h, move all the network.c decls into there (from ircaux.h)
* Create words.h, move all the words.c decls into there (from ircaux.h)
* Include "compat.h" and "network.h" in ircaux.h
* Do another round of make depends
* Rename 'search' to 'search_for'.
* Fix the metric clock hooking /on timer too much.
* Revamp words.c, to support passing word quoter (' or ") as an argument.
Yikes. Merged to become consistent with HEAD. Sorry for all the commits, I'll be quiet again soon. :) -wd
Fix all the rest of the compile issues. bleh.
* Add checks/workaround for linux's broken realpath(). Bleh. * Add arc4random stuff to compat.c -- will be used later! * Fix $realpath() to use normalize_filename() so it gets realpath() fix. * Add $serverctl(SET <refnum> PRIMARY) to set primary server. User beware!
* Change expand_twiddle(), path_search() to take results as params, int retval * Add normalize_filename(), to do job expand_twiddle() used to do. * Add isdir(), just because * Change /CD, /LOAD, /SAVE, /DCC SEND, /DCC GET, to use normalize_filename. * Change /DCC RESUME, $open(), $which(), $unlink() to use normalize_filename. * Change $rename(), $rmdir(), $fexist(), $fsize() to use normalize_filename. * Change $glob(), $globi(), $mkdir(), $chmod() to use normalize_filename. * Change $ftime(), $randread(), and uzfopen() to use normalize_filename. * Change /LOG, /SET LOGFILE, servers file to use normalize_filename. * Fix /LOG so maximum number of targets per log is a compile time #define. * Revamp expand_twiddle() and uzfopen(). * Fix uzfopen() to look for 'bunzip2' in addition to 'bunzip'. * Fix bug with /QUEUE -delete * Remove unused variable in window_scroll().
Add GAILIB, a bsd licensed getaddrinfo/getnameinfo implementation for ipv4 only systems. This was lifted from ruby, who lifted it from WIDE. Add #ifdef's as necessary to compile on non-ipv6 systems.
Huge major commit #1 in the great IPv6 support addition... Rather than include all of the changes here, read KNOWNBUGS changes.
Fixes inspired by first wave of testers 1) Fix casts to inet_anytop() 2) Fix configure to check for socklen_t, default to 'int'.
Yet another swath of changes in The Great IPv4 Cleanup. This time I took a broad hatchet to the resolver-assistant functions in network.c. Using modern techniques really increases readability and makes it look less like a hack. Making good progress!
Next round of in_addr/u_short -> sockaddr_in conversions, along with some other minor details. As far as i know, this shouldn't break anything, but I don't promise that. Save your old binary first! If anything is really bad, let me know. I'll fix it ASAP.
Check (struct sockaddr) for sa_len, and use this as a hint as to whether sockaddrs have a "length" field in them. I will phase out the (now obsolete) check for HAVE_SUN_LEN in configure, once i'm comfortable that checking for HAVE_SA_LEN is sufficient. Whack up the (struct sockaddr_storage) to honor the HAVE_SA_LEN value probed by configure, as requested by Q (Kurt R.). Regen configure. This brings the ssl stuff into play from CE's last commit.
Drums... Drums... Drums... Drums in the deep...
Two new functions in ircsig.c: "block_signal" and "unblock_signal" which use sigprocmask() which I hope everybody has! Based on a discussion with |Rain|, block the SIGCHLD signal before we go waitpid()ing, and then unblock it when we're done. This cleans up a race condition that might happen if two of our child processes die in the same time slice; we would only get one call to our SIGCHLD handler, but we would have two children to reap; "dead_children_processes" would then be a negative value and bad things would occur. Now we handle SIGCHLD as a condition rather than a discrete event; whenever we get a SIGCHLD, the next time through a sequence point we block SIGCHLD, reap our children, reset "dead_children_processes" to 0 and then unblock SIGCHLD and go on our way.
Add MIN() and MAX() macros in irc_std.h.
More complete support for random local ports; /set random_local_ports now cooperates with /setenv EPIC_USE_HIGHPORTS=1, and it works on freebsd, openbsd, and linux, such as it is.
* Fix server assignment in /exec so it works in /on's again. * Fix failsafe declaration for MAXPATHLEN for hurd in irc_std.h and glob.c. * Fixes to make dcc-over-ctcp-over-dcc work again (|Rain|) * Fix $querywin() so it can take a second argument, a server ref (for scromp)
Initial import into CVS
Initial revision
| CVS Admin |
Powered by ViewCVS 0.9.2 |