CVS log for epic5/source/queue.c |
![]() |
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.
* Eliminate the third argument to expand_alias(), the statement spanner. * Rename parse_line() to parse_block() to better reflect its duties. * Make parse_block() static. Everything needs to call runcmds() now. * Eliminate the local-stack-creating feature of parse_block(), callers do this. * Rename 'line' to 'stmt' in parse_statement(). * Sort of forget to re-implement /set cmdchars. The / is the cmdchar. * Try to optimize parse_statement() and next_statement() some.
* Nix calls to dcc_connected(<fd>, 0) which were always bogus. * Create print_arglist() for printing alias arglists, natch. * Fix crash from /queue -del <name> <num> for <num> = <items> + 1 (rb black) * Show arglist when creating and listing aliases. * Fix memory leaks of buckets when user grabs /on set. * Add a "alternate names" bucket to server data. * Create a whole new api for querying and creating server refnums. * Fix crash with /dump on (/dump all) * Add $serverctl(GET|SET <refnum> ALIAS) get and set server alternate desigs * Add $serverctl(GET|SET <refnum> ALIASES) get and set entire list. * Fix memory leak with /on set
* Begin massive refactorization of alias.c, redefining "Alias" as "Symbol" * Refactor parse_line() with a bunch of front end call_* functions. * And a general parse_line() front end, "runcmds()". * Roll builtin expandos in with the user variables * Roll variables and commands together into one name space. HUZZAH! * Nix the caches for the global name space, for now. * I definitely broke /stack alias|assign here. I'll fix it later. * Inline expandos are now officially strings instead of a single char. * Fix bug with $unshift() that popped up. * Move after_expando() to ircaux.c. I think it belongs there more.
* Nix auto-append-of-$* feature (args_flag to expand_alias/parse_inline) * Fix provided scripts to add $* when necessary. * Fix up Makefile, configure, et al, to use epic5/ directories.
Convert m_strdup() to malloc_strdup().
Okay. User input is now handled specially, and parse_command() will not accept incomplete command names anymore. -wd
* 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().
Update copyright notices and copyright dates.
Fix to a /queue bug which causes infinite loops and coredumps.
Fix a couple of minor style nits in functions.c Add a new flag to /queue, /QUEUE -EXPAND_NOW to simulate historical behavior of subjecting <commands> to 'quoting hell'.
Garbage collect unused "scanstr" function Major rewrite/redesign of the /QUEUE command. I will be documenting all of the changes in UPDATING. This is overdue by several years.
"Doctor, it hurts when I do this!" "Then don't do that!" Yes, we should be doing the expansion at runtime What we should not be doing is the expansion at registration time. Revert the last change, and continue doing expansions at runtime. "Fix" /queue so it does not call expand_alias() up front.
For some inexplicably dumb reason, I designed /queue to double-eval your commands, once at registration time and once again at runtime. This makes /queue basically useless since you're subjected to quoting hell all the time. "Fix" this by not making /queue do the second expand at runtime. That second expansion is useless at best and a security hazard waiting to happen at worst. If you depended on these semantics, you are truly a soul to be pitied. ;-) You can email me if you object to this change.
De-bogofy the /queue command -- queue names are now case-preserving, and are not folded to uppercase, and we no longer need that stupid "this sucks" variable which bounds checking gcc chokes on. Good riddance.
Initial import into CVS
Initial revision
| CVS Admin |
Powered by ViewCVS 0.9.2 |