Remove some duplicate const specifiers. Newer gcc complains about these, e.g. interactive.c:149:13: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] const char const *delim = "\t\n\f\r\v "; ^~~~~ With the patch applied, the tree compiles cleanly, at least with gcc-7.4.0 and gcc-8.3.0.
interactive.c: Kill pointless initialization. Found by cppcheck.
Replace systemlinux.org URL and email address. Although the web page is still online at the old location, the new location at tuebingen.mpg.de is now the "official" one. This commit changes the URL in the INSTALL file and all email addresses to the new domain.
Move adu_isspace() to interactive.c. This macro is only used there, so it need not be public.
interactive.c: Return proper error on icom_set() failure. If an interactive set command fails, we currently reset the configuration to the default and return success. This is probably not what the user expected. Make the command fail instead.
Add wrapper for isspace() which is needed for NetBSD.
Merge commit 'fml/master' Conflicts: adu.ggo user.c
flush output after each command in interactive mode. Otherwise "clients" that are not terminals have difficulties seeing adu's output.
Make user.c independent of command line options.
Add yet more source code documentation.
Add copyright header and COPYING file.
Implement the new interactive command "source".
Fix a typo in interactive.c.
Do not close tables on each query. This speeds up interactive mode where many queries may be executed in a row. User tables are opened on demand (if the uid is admissible) and only closed on exit. Also the dir table is opened only once per session rather than on each query.
Move user and user ID related functions to separate files.
Add more source code documentation.
Add man page, README, INSTALL, generate index.html. Change the layout of the help text so that both the man page and the index.html look nice.
Allow comments in interactive input. This allows to put comments into adu scripts.
Fix interactive reset command. We have to invalidate both the format info and the array of admissible urls.
Make sure we never use a stale format info pointer in interactive mode.