CVS log for epic5/include/files.h |
![]() |
Request diff between arbitrary revisions
* Make GET_INT_ARG() support 64 bit ints, for future use * Make $fseek() support 64 bit file offsets (yay!) * Begin converting some time_t uses over to 64 bits, Just In Case * Make $numsort(), $strtol(), $tobase() support 64 bit ints. * Make $stat() support 64 bit ints where possible.
DBM (hash table) support. See UPDATES.
* Change "ERROR --" to "INFO --" to not alarm people as much. * Change a few other warnings to not be so alarming. * Change new_realloc() to not move ptr if it is big enough to hold new size. * Fix all the status_* sub-formats to not have any hardcoded size limits.
From previous commit... * Fix urldecode * /lastlog -msgs 3 is obliged to skip back 3 msgs, not just 3 lastlog entries. * Fix warnings in gailib.h From this commit... * Fix some const correctness issues * Make message_to() take an (int) and not (unsigned) so we can pass in -1. * Fix some arglist regression tests to reflect new extractw semantics. * Fix uninitialized variable in ok_to_output() that caused panics.
* Numerous updates/changes/fixes to DCC, functions, scripts, /EXEC, the new math parser, as per UPDATES and KNOWNBUGS. One potential incompatibility is in the change to $open(). (as per UPDATES)
Yikes. Merged to become consistent with HEAD. Sorry for all the commits, I'll be quiet again soon. :) -wd
* Added functions $asciiq() $chrq() $exec() $timerctl() $tcl() $winline() and $floodinfo(). * Altered the two argument version of $read() to ctcp quote the strings it returns. * Added sets FLOOD_RATE_PER and FLOOD_MASKUSER. * Altered the "accept" mode of the dcc_raw and dcc_connect hooks to refer to the local port instead of the remote port. * Added a "-closein %proc" switch to /exec. * Altered the arg list mode of /alias to use extractw instead of next_arg. * Added the documented "words" argument to the above. * Tuned autoget, mudirc, tabkey.ce and commandqueues. * Altered /pretend to not chop the string. * Set about rewriting the flood detection and then decided that it's better off being a script. * Moved the function macros to their own file (functions.h) and replaced all the copies that are strewn throughout the source with an #include. The exception is array.c which broke when I tried it. * Moved the ctcp enquoting/dequoting functions to ircaux.c. * Added some command/function ordering checks to funcs/regress, and a check for all the functions that are undocumented. * Rewrote function chanmodetype() so that it doesn't have all those flakey buffering things. Hopefully it's readable now. The significant change is that if a mode character appears twice in CHANMODES, the first one is returned instead of the last. * Added EPIC::call() in the perl routines and an equivalent under tcl. this is designed to call a $function() directly, but it isn't really that fast, so I might rip them out again. * The /wait internals used to store a few other settings, which were taken out, so I put them back. * Fixed a few problems with normalize_filename() around the place. * Fixed a bug with /timer in which it would never show the timers after a callback.
Bulk commit:
1) Fix typos in KNOWNBUGS
2) Flesh out the things in UPDATES that need documenting
3) Add target_file_write() to files.[ch] for send_text()'s use.
4) Create "reg.h", to hold protos for reg.c
5) Add some missing protos.
6) If /redirect'ing to 0 or to @<fd>, don't output to the screen.
7) Messages sent to target 0 are dropped (/redirect 0 now actually sends
to target 0, and epic drops it.) You can /query 0 now if you want.
8) Messages sent to @NUMBER get sent to the NUMBER file, where NUMBER is
returned by $open(). For example, to paste stuff to log but not to screen:
@fd = open(FILE w)
query @$fd
<paste some stuff>
query
@close($fd)
or
@fd = open(FILE w)
redirect @$fd lastlog foo
@close($fd)
9) Add a function to reg.c to compile a pattern into a regex -- experimental.
10) Fix some compile warnings regarding ssl.
The small stuff first: * $fskip now takes a second optional argument for the number of lines to skip, and returns the number of lines skipped. If the two numbers match, no error was encountered. If the number is -1, the file was in an error state at the start. * While trying to figure $regexec out, made $encode() and $decode() use the ircaux.c versions instead, and fixed a bug along the way. If this has any imact on these functions then there is a bug. Regex tomfoolery: * Changed the regcomp() library call args a little to make way for $regmatches() which isn't working yet. This should have no impact, but it may, because regcomp is a libc thing. * Eliminated the first argument to $regerror() to bring it in line with the documentation. Cursory examination of some publically available scripts show that although people have been coding around bugs in $regexec(), $regerror() is only ever used the documented way. * Altered $regerror() to return nothing in the case of a successful match for compatibility. See above.
Preliminary support for $write() and $writeb() support to logfiles. Basically if you prefix the window refnum with the letter 'w', then it will write to that window's logfile (if one is open). If you use the otherwise invalid window refnum -1, then it will log to the global logfile (if one is open). -1 is returned if you try to write to a logfile that isn't open (of course). Examples: $write(w1 this is a test) write to window refnum 1's logfile $write(w0 this is a test) write to the current window's logfile $write(w-1 this is a test) write to the global logfile Uppercase 'w's are of course acceptable as well.
Let the work on 1.1.2 commence!
Initial import into CVS
Initial revision
| CVS Admin |
Powered by ViewCVS 0.9.2 |