Release 0.1 (Sun Jul 23 17:04:53 CEST 2006) * preparation for release * enhanced escape sequence processing (tho' doesn't work properly yet) * removed optional parameter to 'open' command * threaded version seems to work! It can run ppp. * more conversion to pthreads. * partial conversion to using pthreads. * readline working better, but: * look at using pthread_sigmask so that when talking to the CLI (through the raw console PFD) then CLI can detect CTRL-C as an interrupt) (the console itself of course can't and shouldn't because it is raw) pppd now not checked after returning from subshells terminal screwed (this is readline interaction, I'm sure) * added subshell command ('!') * added USE_READLINE symbol * plumbing good enough for pppd to work! * beginnings of readline and history support * stty_post() and stty_raw() added. Right thing happens with terminal when switching console between control and shell. * stty_echo() now takes a PFD as parameter; this will later be enhanced to toggle rawness, echoing and NLCR mapping. * CLI performs max and min argc checking, relieving per-command handlers of the responsibility of checking * commands may be abbreviated, provided unique * 'list' commands displays flags (which will include rawness, echoing and NLCR mapping) * added display in debug mode of hexified read() and write()en strings (this was to help trace why yes was outputting one newline, but this was getting interpreted as two) * open command will now open shell by default but also other stuff. * implemented proper CLI with command lookup and delegation * added many more commands (desc, debug, close, disconnect) * connect now takes one or two args (one connects console to the other port) * centralised prompting into one function * switch between raw and cooked as change in and out of control mode. Works! * by running the shell in a subshell rather than exec()ing it, it gives the child a chance to call close() after, and altough this *still* doesn't trigger an EOF on the parent side of th pty, it is enough to ensure that select() reads all data *before* SIGCHLD arrives. * switched to bool instead of boolean which vim highlights better * some function and variable renamings * balanced connects and disconnectes. * got it working again! * actually broken at the moment! subshell echo's are not seen by select()) * integration with ADE C library (being much overhauled simultaenously) * corrections for strigent gcc warning options * started from scratch pretty much, using multiplexed IO now I worked out the the purpose of parent and child were input and output processing (resp?) and the grandchild did the slave side. Now I do parent does multiplexed IO processing and the child does the slave side. * stripped a lot out * corrected indentation * un-abstracted bodies of functions called only once back into their calling functions * changed name of program to ptyplumber and added some svn:ignores