paraslash.git
14 years agoMakefile.in: Remove special treatment of ortp_send/ortp_recv
Andre [Wed, 19 Apr 2006 21:59:08 +0000 (23:59 +0200)]
Makefile.in: Remove special treatment of ortp_send/ortp_recv

they no longer depend on glib, so use the generic rule for building
object files. This made gcc spit out some trivial warnings about
unused variables which are also fixed in this patch.

14 years agoFix typo in gcc-compat.h
Andre [Wed, 19 Apr 2006 21:20:20 +0000 (23:20 +0200)]
Fix typo in gcc-compat.h

It only affects gcc-2 and non-gcc (which is untested anyway).

14 years agonet.c: make it compile without ucred
Andre [Wed, 19 Apr 2006 20:35:04 +0000 (22:35 +0200)]
net.c: make it compile without ucred

This patch is ugly as hell and only compile-tested. It obviously
needs more work (or a totally different approch like using the usual
send/recv functions in case ucred is not available).

MacOs testers are welcome.

14 years agoREADME updates
Andre [Wed, 19 Apr 2006 15:12:19 +0000 (17:12 +0200)]
README updates

Update info on required gcc version in README, small README.mysql update.

14 years agoaudioc.c, audiod.c, server.c: use para_fd_set()
Andre [Wed, 19 Apr 2006 03:22:14 +0000 (05:22 +0200)]
audioc.c, audiod.c, server.c: use para_fd_set()

14 years agocosmetics
Andre [Wed, 19 Apr 2006 03:06:34 +0000 (05:06 +0200)]
cosmetics

14 years agoNEWS: gcc-2.95 is no longer supported
Andre [Wed, 19 Apr 2006 02:54:20 +0000 (04:54 +0200)]
NEWS: gcc-2.95 is no longer supported

The admin of the single remaining system I have access to which was
still running gcc-2.95 recently upgraded to gcc-3 (a version which
is merely 3 years old rather than the 7 years old gcc-2.95).

This means that upcoming paraslash releases will no longer be
compile-tested with gcc-2.95.

gcc-2.95
finally didn't manage to survive
it served all well for all the time
but no one really cares to whine
as we all meet in some other life

14 years agouse para_fd_set also in gui.c and in http_send.c
Andre [Wed, 19 Apr 2006 01:57:59 +0000 (03:57 +0200)]
use para_fd_set also in gui.c and in http_send.c

14 years agoMakefile.in: kill unused target para_compress
Andre [Wed, 19 Apr 2006 01:38:29 +0000 (03:38 +0200)]
Makefile.in: kill unused target para_compress

para_compress went away in paraslash-0.2.8..

14 years agokill unused E_LIST_WRITERS_GIVEN
Andre [Tue, 18 Apr 2006 23:30:47 +0000 (01:30 +0200)]
kill unused E_LIST_WRITERS_GIVEN

14 years agoQuote the the strings in WRITER_NAME correctly.
Andre [Tue, 18 Apr 2006 21:45:18 +0000 (23:45 +0200)]
Quote the the strings in WRITER_NAME correctly.

That fixes problems on debian.

14 years agoMakefile.in: add tow missing headers for the tarball
Andre [Tue, 18 Apr 2006 21:43:21 +0000 (23:43 +0200)]
Makefile.in: add tow missing headers for the tarball

With this fix, the tarball compiles again.

14 years agoreformat and improve write.ggo
Andre [Tue, 18 Apr 2006 20:36:37 +0000 (22:36 +0200)]
reformat and improve write.ggo

add more documentation for the --writer option, reorder options
and move alsa-specific options to an own section.

14 years agopara_play -> para_write documentation update
Andre [Tue, 18 Apr 2006 20:16:20 +0000 (22:16 +0200)]
para_play -> para_write documentation update

14 years agosplit play.c and rename para_play to para_write
Andre [Tue, 18 Apr 2006 19:53:48 +0000 (21:53 +0200)]
split play.c and rename para_play to para_write

This separates the code to write an audio stream into several
independent pieces:

write.h: definition of writer-related structures
write.c: the para_write main program
write_common.c: functions to be shared between para_write
and para_audiod
write_common.h: exported functions of write_common.c
alsa_writer.c: writes the stream to an alsa sound device
file_writer.c: writes the stream to a file

Other writers (aka output plugins) can be added easily.

14 years agoadd new writer to para_play: file
Andre [Tue, 18 Apr 2006 18:42:15 +0000 (20:42 +0200)]
add new writer to para_play: file

It simply writes the input to a random filename under ~/.paraslash.
Also, add some writer-related macros to config.h and two new options
for para_play: --writer and --list_writers.

14 years agoFurther para_play abstraction: struct writer_node_group
Andre [Tue, 18 Apr 2006 03:28:55 +0000 (05:28 +0200)]
Further para_play abstraction: struct writer_node_group

This structure contains the list of writer nodes and information common to all
of these nodes. The idea is that the wng group code will be shared between
para_audiod and para_play.

14 years agopara_play: simplify play_pcm(), add E_PLAY_OVERRUN, E_PREMATURE_END
Andre [Tue, 18 Apr 2006 01:34:48 +0000 (03:34 +0200)]
para_play: simplify play_pcm(), add E_PLAY_OVERRUN, E_PREMATURE_END

14 years agoswitch to the new struct writer/writer_node abstraction
Andre [Tue, 18 Apr 2006 01:00:53 +0000 (03:00 +0200)]
switch to the new struct writer/writer_node abstraction

There's only one writer possible ATM, but it is designed to allow
more than one.

This patch also, adds a loglevel config option to para_play.

14 years agointroduce struct writer and struct writer_node
Andre [Mon, 17 Apr 2006 21:51:43 +0000 (23:51 +0200)]
introduce struct writer and struct writer_node

They are unused for now.

14 years agoalsa_shutdown(): free struct private_alsa_data
Andre [Mon, 17 Apr 2006 20:54:02 +0000 (22:54 +0200)]
alsa_shutdown(): free struct private_alsa_data

14 years agopara_play: introduce struct private_alsa_data
Andre [Mon, 17 Apr 2006 20:52:27 +0000 (22:52 +0200)]
para_play: introduce struct private_alsa_data

this structure combines all alsa specific state variables of
para_play. Its usage separates alsa specific stuff from the
generic code of para_play.

14 years agomake chunk_size a local var and rename it to period_size
Andre [Mon, 17 Apr 2006 20:31:32 +0000 (22:31 +0200)]
make chunk_size a local var and rename it to period_size

14 years agomake para_play use the error subsystem
Andre [Mon, 17 Apr 2006 20:25:34 +0000 (22:25 +0200)]
make para_play use the error subsystem

14 years agoplay.c: Let alsa_init() return the number of bytes per chunk
Andre [Mon, 17 Apr 2006 18:59:12 +0000 (20:59 +0200)]
play.c: Let alsa_init() return the number of bytes per chunk

14 years agoplay.c: make alsa_write() take the number of _bytes_ to write
Andre [Mon, 17 Apr 2006 18:49:54 +0000 (20:49 +0200)]
play.c: make alsa_write() take the number of _bytes_ to write

rather than the number of frames.

14 years agoplay.c: reorder and rename some functions.
Andre [Mon, 17 Apr 2006 18:44:22 +0000 (20:44 +0200)]
play.c: reorder and rename some functions.

Move everything which depends on ALSA to the three functions
alsa_init(), former set_alsa_params(), alsa_write(), former
pcm_write(), and alsa_shutdown().

14 years agoreplace memcpy by memmove
Andre [Mon, 17 Apr 2006 17:16:18 +0000 (19:16 +0200)]
replace memcpy by memmove

as the areas in question may overlap

14 years agoFix some typos in CREDITS
Andre [Mon, 17 Apr 2006 15:28:54 +0000 (17:28 +0200)]
Fix some typos in CREDITS

14 years agoKill noisy debug message
Andre [Sun, 16 Apr 2006 23:22:55 +0000 (01:22 +0200)]
Kill noisy debug message

14 years agoaudiod: do not use pointers to members of struct timeval for sscanf()
Andre [Sun, 16 Apr 2006 18:37:52 +0000 (20:37 +0200)]
audiod: do not use pointers to members of struct timeval for sscanf()

Use temporary long unsigned variables instead. Fixes warnings of the
form

audiod.c:844: warning: format '%lu' expects type 'long unsigned int *', but argument 4 has type 'suseconds_t *'

on MacOs

14 years agoTypo
Andre [Sun, 16 Apr 2006 18:04:33 +0000 (20:04 +0200)]
Typo

14 years agofix more struct timeval related warnings
Andre [Sun, 16 Apr 2006 17:56:09 +0000 (19:56 +0200)]
fix more struct timeval related warnings

Use tv2ms() which returns long unsigned where appropriate.
For the remaining cases, cast the members of struct timeval
to long unsigned if used via a format string.

14 years agoaudiod: use tv2ms to show the time difference
Andre [Sun, 16 Apr 2006 17:31:51 +0000 (19:31 +0200)]
audiod: use tv2ms to show the time difference

14 years agompdec.c: %d -> %zd conversion
Andre [Sun, 16 Apr 2006 17:13:32 +0000 (19:13 +0200)]
mpdec.c: %d -> %zd conversion

This fixes some warnings of the form

mp3dec.c:66: warning: format '%d' expects type 'int', but argument 5 has type 'size_t'

on MacOs.

14 years agokill para_client's interactive mode
Andre [Sun, 16 Apr 2006 15:56:44 +0000 (17:56 +0200)]
kill para_client's interactive mode

Again, it is not worth the compatibility trouble it causes.  It's much
better to implement such functionality with a bash script or similar.

Also, add Gerd Becker to CREDITS and mention that paraslash compiles
under MacOS.

14 years agoconfigure.ac: Add check for unix socket credentials
Andre [Sat, 15 Apr 2006 18:56:15 +0000 (20:56 +0200)]
configure.ac: Add check for unix socket credentials

14 years agoremove null termination.
Andre [Sat, 15 Apr 2006 17:50:59 +0000 (19:50 +0200)]
remove null termination.

The previous patch missed to remove a line. Quite a serious mistake as
'ret' no longer contains the length of the message but the user id..

14 years agoavoid struct ucred in audiod.c
Andre [Sat, 15 Apr 2006 17:40:41 +0000 (19:40 +0200)]
avoid struct ucred in audiod.c

This is a preparation for making ucred optional. It moves everything
which uses unix socket credentials into the single source file net.c.

14 years agorecv_cred_buffer typo: Return proper error number
Andre [Sat, 15 Apr 2006 16:38:59 +0000 (18:38 +0200)]
recv_cred_buffer typo: Return proper error number

14 years agokill mallinfo
Andre [Sat, 15 Apr 2006 16:04:38 +0000 (18:04 +0200)]
kill mallinfo

It is not important enough to care about the compatibility
issues.

14 years agoRename MIN, MAX, ABS macros
Andre [Sat, 15 Apr 2006 15:58:13 +0000 (17:58 +0200)]
Rename MIN, MAX, ABS macros

MIN and MAX are already defined on MacOS.

14 years agogcc-compat.h: rename __unused to __a_unused
Andre [Sat, 15 Apr 2006 15:36:57 +0000 (17:36 +0200)]
gcc-compat.h: rename __unused to __a_unused

__unused is already defined on MacOS.

14 years agogcc-compat: Kill __pure
Andre [Sat, 15 Apr 2006 15:12:40 +0000 (17:12 +0200)]
gcc-compat: Kill __pure

It is not used within paraslash and is already defined on MacOS.

14 years agocom_sa: pedantic mem leak fix.
Andre [Fri, 14 Apr 2006 13:31:48 +0000 (15:31 +0200)]
com_sa: pedantic mem leak fix.

In fact, this memory leak doesn't matter much because it happens in the child
which calls exit shortly afterwards. But it's considered good programming
practice to free all memory, so..

14 years agocom_cs: Return a syntax error if argc > 2.
Andre [Fri, 14 Apr 2006 13:02:44 +0000 (15:02 +0200)]
com_cs: Return a syntax error if argc > 2.

Previously, argv[i] was silently ignored for i > 1.

14 years agomysql selector commands: escape argv[] when used in a query.
Andre [Thu, 13 Apr 2006 00:42:51 +0000 (02:42 +0200)]
mysql selector commands: escape argv[] when used in a query.

14 years agotypo
Andre [Mon, 10 Apr 2006 23:31:45 +0000 (01:31 +0200)]
typo

This was introduced in the previous patch.

14 years agoimproved version of split_args()
Andre [Mon, 10 Apr 2006 17:40:11 +0000 (19:40 +0200)]
improved version of split_args()

Thanks to Lorenzo Bettini for pointing this out.

This patch also fixes a bug with the default filter configuration which
allocated too little memory for the array of filter configurations. Now
we always allocate space for at least three entries.

14 years agopara_server/para_audiod: new option --group
Andre [Sun, 9 Apr 2006 17:30:21 +0000 (19:30 +0200)]
para_server/para_audiod: new option --group

Used to set the GID at startup. This patch also reformats
server.ggo and audiod.ggo to make them more readable.

14 years agofurther header cleanup
Andre [Sat, 8 Apr 2006 17:36:25 +0000 (19:36 +0200)]
further header cleanup

14 years agonew function: set_stream_fds()
Andre [Sat, 8 Apr 2006 16:53:46 +0000 (18:53 +0200)]
new function: set_stream_fds()

There are many places like the following:

FD_SET(fd, fdset);
max = MAX(max, fd);

set_stream_fds() simply combines these two commands.

14 years agosmall header cleanup
Andre [Fri, 7 Apr 2006 13:46:13 +0000 (15:46 +0200)]
small header cleanup

14 years agoAdd documentation for para_select() and mark_fd_nonblock()
Andre [Fri, 7 Apr 2006 13:29:52 +0000 (15:29 +0200)]
Add documentation for para_select() and mark_fd_nonblock()

This patch also fixes a thinko in para_select().

14 years agointroduce mark_fd_nonblock()
Andre [Fri, 7 Apr 2006 13:07:08 +0000 (15:07 +0200)]
introduce mark_fd_nonblock()

Calls fcntl(2) to prepare an fd for nonblocking file operations. Also, make
fd.c and para_gui use the error subssytem.

14 years agointroduce para_select()
Andre [Fri, 7 Apr 2006 12:28:09 +0000 (14:28 +0200)]
introduce para_select()

A simple wrapper for select(2) that checks for EINTR and restarts the
select call in this case.

14 years agoNew source files: fd.c/fd.h
Andre [Fri, 7 Apr 2006 11:23:57 +0000 (13:23 +0200)]
New source files: fd.c/fd.h

ATM, they only contain the file_exists() function which was pulled
out from exec.c. More to follow.

14 years agosignal.c: mark the read and write ends of the signal pipe non-blocking.
Andre [Fri, 7 Apr 2006 10:57:20 +0000 (12:57 +0200)]
signal.c: mark the read and write ends of the signal pipe non-blocking.

14 years agorename the array of supported audio file senders from 'dblist' to 'selectors'
Andre [Tue, 4 Apr 2006 10:53:47 +0000 (12:53 +0200)]
rename the array of supported audio file senders from 'dblist' to 'selectors'

14 years agoFEATURES: (no log message)
Andre [Mon, 3 Apr 2006 21:43:06 +0000 (23:43 +0200)]
FEATURES: (no log message)

14 years agofix potential segfault in para_client
Andre [Mon, 3 Apr 2006 19:50:06 +0000 (21:50 +0200)]
fix potential segfault in para_client

The first data buffer which is sent by the server is checked for
the AWAITING_DATA_MSG, but that buffer might not be 0-terminated..

Some other minor cleanups also.

14 years agomp3: Increase eof timeout
Andre [Mon, 3 Apr 2006 14:11:54 +0000 (16:11 +0200)]
mp3: Increase eof timeout

This fixes some problems with ortp.

14 years agoFix use of uninitialized variable 'now' in afs_preselect()
Andre [Mon, 3 Apr 2006 14:09:57 +0000 (16:09 +0200)]
Fix use of uninitialized variable 'now' in afs_preselect()

14 years agodb.h: fix documentation
Andre [Sat, 1 Apr 2006 23:08:36 +0000 (01:08 +0200)]
db.h: fix documentation

The pre_select function of struct audio_file_selector must _return_
the highest-numbered file descriptor.

14 years agoMinor audiod mainloop cleanup
Andre [Sat, 1 Apr 2006 22:21:46 +0000 (00:21 +0200)]
Minor audiod mainloop cleanup

14 years agostat_client_write(): add help text for new 'itemnum' parameter
Andre [Tue, 28 Mar 2006 06:52:24 +0000 (08:52 +0200)]
stat_client_write(): add help text for new 'itemnum' parameter

14 years agoupdate audiod help text
Andre [Mon, 27 Mar 2006 17:52:32 +0000 (19:52 +0200)]
update audiod help text

Replace the old --anticlip and --volume options in the example.

14 years agospecify the three grab modes as values in grab_client.ggo
Andre [Mon, 27 Mar 2006 08:50:08 +0000 (10:50 +0200)]
specify the three grab modes as values in grab_client.ggo

That makes gengetopt check that the argument to the --mode
option is one of sloppy, pedantic, or aggressive, so get rid of
E_INVALID_GRAB_MODE, the gc_modes array and of the error check in
grab_client.c.

Another nice side-effect is that also "s", "p", "a" work as
abreviations for the grab mode argument.

Reformat grab_client.ggo as we are at it.

14 years agogengetopt: use the new (and more descriptive) 'optional' instead of 'no'.
Andre [Mon, 27 Mar 2006 07:50:59 +0000 (09:50 +0200)]
gengetopt: use the new (and more descriptive) 'optional' instead of 'no'.

14 years agofix grab -V
Andre [Mon, 27 Mar 2006 06:04:55 +0000 (08:04 +0200)]
fix grab -V

Currently, -V is silently ignored, i.e. "grab -V" dumps binary data
to stdout which probably doesn't meet the expectation of the user ;)

14 years agogengetopt improvements
Andre [Mon, 27 Mar 2006 05:42:20 +0000 (07:42 +0200)]
gengetopt improvements

Use the --set-package option of gengetopts for receivers, filters
and the grab command, and set the 'package' name appropriately.
Moreover, --no-handle-version is needed for the grab command. Without
it, grab -V terminates para_audiod.

14 years agoaudiod: use the new help text array of gengetopt-2.17
Andre [Mon, 27 Mar 2006 04:58:32 +0000 (06:58 +0200)]
audiod: use the new help text array of gengetopt-2.17

This allows to get rid of an ugly hack for the grab command.

14 years agoupdate to gengetopt-2.17
Andre [Mon, 27 Mar 2006 04:28:56 +0000 (06:28 +0200)]
update to gengetopt-2.17

gengetopt-2.17 has an improved help management, thanks again to Lorenzo
Bettini for implementing my suggestions. The help texts of the options
are contained in an array which is defined in xyz.cmdline.c and declared
as extern in xyz.cmdline.h.

In order to link more than one xyz.cmdline.o into a single binary,
these arrays must have different names. So use the --arg-struct-name
option of gengetopt for each receiver/filter.

14 years agoupdate filter help text
Andre [Mon, 27 Mar 2006 03:47:31 +0000 (05:47 +0200)]
update filter help text

The example used the --anticlip and --volume options of the compress
filter which are no longer present. Replace these by valid command
line options.

14 years agoaudiod: boost the stat command
Andre [Mon, 27 Mar 2006 03:36:52 +0000 (05:36 +0200)]
audiod: boost the stat command

It now takes any number of arguments, including zero which selects
the old behaviour (dump _all_ status items to stdout).  If called
with arguments, each arg must be a valid status item and only these
are written to sdout.

14 years agostat_line_valid(): use the FOR_EACH_STAT_ITEM macro
Andre [Sun, 26 Mar 2006 23:23:42 +0000 (01:23 +0200)]
stat_line_valid(): use the FOR_EACH_STAT_ITEM macro

14 years agoaudiod: switch from ringbuffer to statically allocated array
Andre [Sun, 26 Mar 2006 23:17:16 +0000 (01:17 +0200)]
audiod: switch from ringbuffer to statically allocated array

This patch also fixes a minor bug where audiod would send empty status
lines or lines containing only a colon (only happens if para_server
status is paused).

14 years agodoxify dccp
Andre [Sun, 26 Mar 2006 02:45:11 +0000 (04:45 +0200)]
doxify dccp

Add documentation for all non-static functions, and move the defines
of the magic dccp constants from dccp.h to dccp.c as they are only
used there.

14 years agoAdd -Wwrite-strings to CPPFLAGS
Andre [Sun, 26 Mar 2006 02:42:50 +0000 (04:42 +0200)]
Add -Wwrite-strings to CPPFLAGS

Commented out for now.

14 years agouse const qualifiers where possible
Andre [Sun, 26 Mar 2006 00:29:50 +0000 (01:29 +0100)]
use const qualifiers where possible

14 years agomysql_selector.c: whitespace cleanup
Andre [Sat, 25 Mar 2006 21:07:22 +0000 (22:07 +0100)]
mysql_selector.c: whitespace cleanup

14 years agoaudiod: Kill another unused variable
Andre [Sat, 25 Mar 2006 20:41:53 +0000 (21:41 +0100)]
audiod: Kill another unused variable

14 years agoortp_send: Kill an unused variable
Andre [Sat, 25 Mar 2006 20:33:20 +0000 (21:33 +0100)]
ortp_send: Kill an unused variable

14 years agomysql selector: Fix a memory leak in get_query()
Andre [Sat, 25 Mar 2006 20:15:46 +0000 (21:15 +0100)]
mysql selector: Fix a memory leak in get_query()

If the stream definition contained N > 1 "score:" lines (an invalid
configuration anyway, there should be at most one), we leaked the first
N - 1 score lines. The fix is to take into account the first one only.

14 years agocom_next() fix.
Andre [Sat, 25 Mar 2006 19:59:21 +0000 (20:59 +0100)]
com_next() fix.

Do not clear the AFS_NEXT flag in afs_send_chunk() and increase mmd->events.
Fixes a (rare) problem where the next command did not work.

14 years agos_a_r_list(): return NULL on errors
Andre [Sat, 25 Mar 2006 19:38:42 +0000 (20:38 +0100)]
s_a_r_list(): return NULL on errors

And fix the documentation.

14 years agoaudiod: use set_restart_barrier() instead of duplicating it.
Andre [Sat, 25 Mar 2006 19:06:37 +0000 (20:06 +0100)]
audiod: use set_restart_barrier() instead of duplicating it.

14 years agodccp_recv: increase output buffer size
Andre [Sat, 25 Mar 2006 18:25:26 +0000 (19:25 +0100)]
dccp_recv: increase output buffer size

14 years agodccp_send: fix sending of header packets
Andre [Sat, 25 Mar 2006 01:00:46 +0000 (02:00 +0100)]
dccp_send: fix sending of header packets

The current code sends the header before _each_ packet, rather than only
once. Fix is trivial.

14 years agodccp: avoid "message too long" errors.
Andre [Fri, 24 Mar 2006 23:15:03 +0000 (00:15 +0100)]
dccp: avoid "message too long" errors.

Break down the write into 1KB chunks as a workaround.

14 years agolog the IP address of the connecting client.
Andre [Fri, 24 Mar 2006 20:41:36 +0000 (21:41 +0100)]
log the IP address of the connecting client.

14 years agokill duplicate write_ok()
Andre [Fri, 24 Mar 2006 19:05:34 +0000 (20:05 +0100)]
kill duplicate write_ok()

use the generic inline function from send.h instead and shutdown the
connection if an error occured in write_ok().

14 years agoFix return value of dccp_recv pre_select()
Andre [Thu, 23 Mar 2006 14:01:08 +0000 (15:01 +0100)]
Fix return value of dccp_recv pre_select()

Also, add a log message on errors/eof.

14 years agogui: Only check STDIN for readability if curses is active.
Andre [Thu, 23 Mar 2006 13:57:52 +0000 (14:57 +0100)]
gui: Only check STDIN for readability if curses is active.

14 years agoMore %d -> %zd fixes
Andre [Wed, 15 Mar 2006 22:58:29 +0000 (23:58 +0100)]
More %d -> %zd fixes

Noted by Steffen Klassert.

14 years agoortp: make jitter compensation configurable.
Andre [Tue, 14 Mar 2006 18:18:51 +0000 (19:18 +0100)]
ortp: make jitter compensation configurable.

Non-zero values turn on ortp's adaptive jitter compensation.

14 years agodccp_send: comment out noisy debug message.
Andre [Tue, 14 Mar 2006 18:16:52 +0000 (19:16 +0100)]
dccp_send: comment out noisy debug message.

14 years agofixes for ortp-0.9.1
Andre [Tue, 14 Mar 2006 17:41:10 +0000 (18:41 +0100)]
fixes for ortp-0.9.1

turn on adaptive jitter compensation. ortp-0.9.1 seems to be unhappy
without it. This patch also contains some simplifications and timing
improvements.

14 years agodb.c: use PARA_STRERROR()...
Andre [Tue, 14 Mar 2006 16:51:36 +0000 (17:51 +0100)]
db.c: use PARA_STRERROR()...

... instead of logging the error number only.

14 years agoupdate README
Andre [Tue, 14 Mar 2006 16:44:22 +0000 (17:44 +0100)]
update README

Mention the new dccp sender/receiver.