]> git.tue.mpg.de Git - paraslash.git/log
paraslash.git
15 years agoMerge branch 'master' into next
Andre Noll [Sun, 6 Sep 2009 20:23:58 +0000 (22:23 +0200)]
Merge branch 'master' into next

15 years agomood: Do not handle events if no mood is active.
Andre Noll [Sun, 6 Sep 2009 20:23:45 +0000 (22:23 +0200)]
mood: Do not handle events if no mood is active.

In case a file is being removed with "para_client rm" while in playlist mode,
the following assertion triggers:

mood.c:521: del_afs_statistics: Assertion `n' failed.

This happens because the file is contained in the score table but statistics are not enabled.
Fix it by ignoring events if cuurent_mood is NULL.

15 years agofilter: Register the filter chain as the last task.
Andre Noll [Sun, 6 Sep 2009 20:19:31 +0000 (22:19 +0200)]
filter: Register the filter chain as the last task.

Without this patch, the command

para_filter -f mp3dec < foo.mp3 > /dev/null

would take several minutes because the stdin buffer is usually full and the stdout buffer empty
which causes select() to be called with empty fd sets, resulting in a one second timeout.

15 years agoRefuse to load unprotected private keys.
Andre Noll [Sat, 5 Sep 2009 11:56:20 +0000 (13:56 +0200)]
Refuse to load unprotected private keys.

When loading a private key owned by the same user that accesses the key, check
the permissions of the key file. Error out if mode & 077 is non-zero.

15 years agoUse RSA key blinding to protect against timing attacks.
Andre Noll [Sat, 5 Sep 2009 11:16:53 +0000 (13:16 +0200)]
Use RSA key blinding to protect against timing attacks.

Not that it matters much, but it doesn't hurt either.

15 years agoMerge commit 'meins/next' into next
Andre Noll [Fri, 4 Sep 2009 08:39:09 +0000 (10:39 +0200)]
Merge commit 'meins/next' into next

15 years agoMerge branch 'master' into next
Andre Noll [Fri, 4 Sep 2009 08:38:34 +0000 (10:38 +0200)]
Merge branch 'master' into next

15 years agoFix check for short rsa keys.
Andre Noll [Fri, 4 Sep 2009 07:23:05 +0000 (09:23 +0200)]
Fix check for short rsa keys.

And add a comment that explains the magic constant 41.

15 years agoMerge branch 'master' into next
Andre Noll [Thu, 3 Sep 2009 16:49:31 +0000 (18:49 +0200)]
Merge branch 'master' into next

15 years agofade: Avoid a gcc warning.
Andre Noll [Wed, 2 Sep 2009 11:59:54 +0000 (13:59 +0200)]
fade: Avoid a gcc warning.

The following warning is harmless and gcc is just being stupid:

fade.c: In function 'main':
fade.c:111: warning: 'val' may be used uninitialized in this function
fade.c:111: note: 'val' was declared here

15 years agoMerge branch 'master' into next
Andre Noll [Mon, 31 Aug 2009 19:37:03 +0000 (21:37 +0200)]
Merge branch 'master' into next

Conflicts:
aft.c
command.c

15 years agoKill the quick hack that changed timing for the first fec goup.
Andre Noll [Mon, 31 Aug 2009 19:26:54 +0000 (21:26 +0200)]
Kill the quick hack that changed timing for the first fec goup.

This did never really work.

15 years agomp3dec: Improve bad main_data_begin pointer error handling.
Andre Noll [Mon, 31 Aug 2009 19:17:21 +0000 (21:17 +0200)]
mp3dec: Improve bad main_data_begin pointer error handling.

These errors from mad_frame_decode() are non-fatal and happen if the
stream is started at the middle of the file, e.g. when para_audiod
is started while para_server is already streaming.

If libmad encounters such an error it throws away the first (and
probably the second) frame which messes up the timing in udp/fec mode,
causing an audible buffer underrun after the remaining frames of the
first fec group have been decoded and fed to the writer.

This patch makes the mp3dec filter keep track of bad main_data_begin
pointer errors that happen at the start of the stream. In this case
decoding is deferred until more data has arrived or 60ms have passed.

15 years agocom_stat(): Be more anal in checking command line options.
Andre Noll [Sun, 30 Aug 2009 12:26:32 +0000 (14:26 +0200)]
com_stat(): Be more anal in checking command line options.

Also check the number of arguments and use para_atoi32 to convert
the argument into an int.

15 years agoFix off-by-one bug in fixup_info_string().
Andre Noll [Sun, 30 Aug 2009 11:20:14 +0000 (13:20 +0200)]
Fix off-by-one bug in fixup_info_string().

This caused the chunk time not being properly displayed due to a
missing newline in the status output.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 29 Aug 2009 20:29:17 +0000 (22:29 +0200)]
Merge branch 'master' into next

15 years agoNEWS update.
Andre Noll [Sat, 29 Aug 2009 20:28:41 +0000 (22:28 +0200)]
NEWS update.

15 years agoAlsa timing improvements.
Andre Noll [Sat, 29 Aug 2009 20:17:55 +0000 (22:17 +0200)]
Alsa timing improvements.

This moves the computation of the select timeout from
alsa_write_post_select() to alsa_write_pre_select(). The code now
computes when the next buffer underrun would occur and uses that
value to set the timeout for the next select call. This decreases
the number of writes to the alsa handle and therefore also the CPU
usage of para_write/para_audiod.

15 years agoMerge remote branch 'fml/next' into next
Andre Noll [Tue, 25 Aug 2009 17:17:43 +0000 (19:17 +0200)]
Merge remote branch 'fml/next' into next

15 years agoNEWS update.
Andre Noll [Sun, 23 Aug 2009 12:26:05 +0000 (14:26 +0200)]
NEWS update.

15 years agoFix syntax in documentation of the touch command.
Andre Noll [Sun, 23 Aug 2009 12:25:42 +0000 (14:25 +0200)]
Fix syntax in documentation of the touch command.

15 years agoMerge branch 'master' into next
Andre Noll [Fri, 21 Aug 2009 19:30:36 +0000 (21:30 +0200)]
Merge branch 'master' into next

15 years agodaemon: Don't set the umask to zero.
Andre Noll [Fri, 21 Aug 2009 19:30:23 +0000 (21:30 +0200)]
daemon: Don't set the umask to zero.

Clearing umask creates more problems that it solves.

15 years agoFix two typos in daemon.c.
Andre Noll [Fri, 21 Aug 2009 19:08:29 +0000 (21:08 +0200)]
Fix two typos in daemon.c.

15 years agogui: Fix a bug in align_str().
Andre Noll [Fri, 21 Aug 2009 19:05:36 +0000 (21:05 +0200)]
gui: Fix a bug in align_str().

This bug was introduced in 01117585. It messes up the display and can lead to a
segfault.

15 years agopara.css: Remove superflous '#' chars.
Andre Noll [Fri, 21 Aug 2009 15:56:36 +0000 (17:56 +0200)]
para.css: Remove superflous '#' chars.

15 years agoMerge commit 'meins/master'
Andre Noll [Mon, 3 Aug 2009 14:00:31 +0000 (16:00 +0200)]
Merge commit 'meins/master'

15 years agoMerge branch 'master' into next
Andre Noll [Sun, 2 Aug 2009 13:31:16 +0000 (15:31 +0200)]
Merge branch 'master' into next

15 years ago[filter]: Do filter conversion during post_select.
Andre Noll [Sun, 2 Aug 2009 13:29:47 +0000 (15:29 +0200)]
[filter]: Do filter conversion during post_select.

This is more natural and allows to get rid of the hack that
forced a minimal timout in case something was converted.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 1 Aug 2009 20:06:49 +0000 (22:06 +0200)]
Merge branch 'master' into next

15 years ago[gui]: Use the new -p option for the default stat command.
Andre Noll [Sat, 1 Aug 2009 19:48:02 +0000 (21:48 +0200)]
[gui]: Use the new -p option for the default stat command.

15 years agoRevamp para_fade.
Andre Noll [Sat, 25 Jul 2009 18:07:19 +0000 (20:07 +0200)]
Revamp para_fade.

- Rename options
- Improve documentation
- Make --mode an enum option
- Cleanup ggo file indentation

15 years agoPrint an error message if the filter config file contains invalid options.
Andre Noll [Sat, 25 Jul 2009 16:29:06 +0000 (18:29 +0200)]
Print an error message if the filter config file contains invalid options.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 25 Jul 2009 13:52:09 +0000 (15:52 +0200)]
Merge branch 'master' into next

15 years agoTeach para_fade to accept a mixer channel to fade.
Andre Noll [Sat, 25 Jul 2009 13:51:48 +0000 (15:51 +0200)]
Teach para_fade to accept a mixer channel to fade.

This allows to fade not only the volume channel but all other channels that are
supported by oss.

15 years agoMake some functions/variables static.
Andre Noll [Tue, 21 Jul 2009 23:43:25 +0000 (01:43 +0200)]
Make some functions/variables static.

Found by sparse.

15 years agoMove blob table macros from afs.h to blob.c.
Andre Noll [Tue, 21 Jul 2009 23:42:18 +0000 (01:42 +0200)]
Move blob table macros from afs.h to blob.c.

They are only used there.

15 years agoRename LIST_HEAD to INITIALIZED_LIST_HEAD.
Andre Noll [Tue, 21 Jul 2009 15:56:02 +0000 (17:56 +0200)]
Rename LIST_HEAD to INITIALIZED_LIST_HEAD.

This fixes the following warning on NetBSD:

In file included from udp_send.c:25:
list.h:37:1: warning: "LIST_HEAD" redefined
In file included from /usr/include/net/if.h:84,
 from udp_send.c:14:
/usr/include/sys/queue.h:88:1: warning: this is the location of the previous definition

15 years agoMerge branch 'master' into next
Andre Noll [Mon, 20 Jul 2009 16:54:49 +0000 (18:54 +0200)]
Merge branch 'master' into next

15 years agoKill unused para_reap_children().
Andre Noll [Mon, 20 Jul 2009 16:54:15 +0000 (18:54 +0200)]
Kill unused para_reap_children().

Found by cppcheck.

15 years agoconfigure.ac: Fix --with-osl-libs option.
Andre Noll [Mon, 20 Jul 2009 16:49:25 +0000 (18:49 +0200)]
configure.ac: Fix --with-osl-libs option.

Quite a few typos in there..

15 years agoFix a gcc warning on 64 bit systems.
Andre Noll [Mon, 20 Jul 2009 09:33:58 +0000 (11:33 +0200)]
Fix a gcc warning on 64 bit systems.

client_common.c:175: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'

15 years agoMerge commit 'meins/next' into next
Andre Noll [Mon, 20 Jul 2009 09:31:32 +0000 (11:31 +0200)]
Merge commit 'meins/next' into next

15 years agoAdd num_played mood method.
Andre Noll [Sun, 19 Jul 2009 16:47:23 +0000 (18:47 +0200)]
Add num_played mood method.

15 years agoRemove the likely/unlikely macros.
Andre Noll [Sun, 19 Jul 2009 16:09:27 +0000 (18:09 +0200)]
Remove the likely/unlikely macros.

These also slow down the compress filter, its only user, by about 10%.

15 years agoMicro optimizations for the amp filter.
Andre Noll [Sun, 19 Jul 2009 15:56:22 +0000 (17:56 +0200)]
Micro optimizations for the amp filter.

Use memcpy in the special case amp==0 (no amplification) and optimize the code in
the performance-critical loop. Intrestingly, using the likely()/unlikely() macros made the
code slower.

Results (three runs on identical input data on a 32bit x86 machine under Linux, gcc-4.4.0):

old with --amp 3:
        0m0.776s 0m0.790s 0m0.812s, avg: 792
new with --amp 3:
        0m0.456s 0m0.492s 0m0.477s, avg: 475
speedup: 1.67

old with --amp 0:
        0m0.791s 0m0.808s 0m0.810s, avg: 803
new with --amp 0:
        0m0.100s 0m0.103s 0m0.094s, avg: 99
speedup: 8.1

15 years agoDon't include osl.h from the audio format handlers.
Andre Noll [Sun, 19 Jul 2009 13:44:35 +0000 (15:44 +0200)]
Don't include osl.h from the audio format handlers.

They don't need this header, and including it broke compilation with -O0.

15 years agoIntroduce LIST_HEAD macro and use it in audiod_command.
Andre Noll [Sun, 19 Jul 2009 13:23:42 +0000 (15:23 +0200)]
Introduce LIST_HEAD macro and use it in audiod_command.

Using initialized list heads where possible allows to get rid of the checks whether the
list is already initialized.

15 years agoMove functions only needed by audiod from stat.c to audiod_command.c.
Andre Noll [Sun, 19 Jul 2009 13:07:28 +0000 (15:07 +0200)]
Move functions only needed by audiod from stat.c to audiod_command.c.

This was 4 out of 5 and thus should decrease the size of executables for non-Linux
systems a bit as we don't use -fdata-sections -ffunction-sections and -Wl,--gc-sections
there.

Is also allows to remove some entries from para.h.

15 years agoMerge branch 'master' into next
Andre Noll [Sun, 19 Jul 2009 12:16:56 +0000 (14:16 +0200)]
Merge branch 'master' into next

15 years agoFix memory leaks in [alsa,file,oss]write.c.
Andre Noll [Sun, 19 Jul 2009 12:16:42 +0000 (14:16 +0200)]
Fix memory leaks in [alsa,file,oss]write.c.

Small and harmless but anyway.

15 years agoaudiod: Increase default select timeout to 1s.
Andre Noll [Sun, 19 Jul 2009 12:12:14 +0000 (14:12 +0200)]
audiod: Increase default select timeout to 1s.

This was set to 99ms only for debugging purposes three years ago...

15 years agoaudiod: Only call audiod_status_dump twice per second.
Andre Noll [Sun, 19 Jul 2009 12:10:31 +0000 (14:10 +0200)]
audiod: Only call audiod_status_dump twice per second.

audiod_status_dump() is quite expensive and is called in a rather hot path.

15 years agoclient_post_select(): Defer decrypting of server challenge.
Andre Noll [Sun, 19 Jul 2009 01:10:34 +0000 (03:10 +0200)]
client_post_select(): Defer decrypting of server challenge.

The old code worked only by pure luck: We allocated the crypt buffer on the stack as
an ordinary automatic variable. This buffer was filled right after we received the challenge
from the server, but it was used in a _subsequent_ call to client_post_select(). There's
no guarantee that the content of the crypt buffer stays the same between these two calls.

So defer the decryption until the client status is CL_RECEIVED_CHALLENGE, i.e. until
the socket file descriptor is known to be ready for sending back the SHA1 of the decrypted
challenge.

15 years agoRemove unused field challenge_nr from struct client_task.
Andre Noll [Sun, 19 Jul 2009 00:09:47 +0000 (02:09 +0200)]
Remove unused field challenge_nr from struct client_task.

A relict from 0.3.x.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 18 Jul 2009 13:43:30 +0000 (15:43 +0200)]
Merge branch 'master' into next

Conflicts:
audiod_command.c

15 years agoRemove unused label "out".
Andre Noll [Sat, 18 Jul 2009 13:40:39 +0000 (15:40 +0200)]
Remove unused label "out".

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 18 Jul 2009 13:24:48 +0000 (15:24 +0200)]
Merge branch 'master' into next

Conflicts:
audiod_command.c

15 years agoaudiod: Clean up status output.
Andre Noll [Sat, 18 Jul 2009 13:19:24 +0000 (15:19 +0200)]
audiod: Clean up status output.

It's a mess. Fortunately, this is much cleaner in 0.4.x..

15 years agoaudiod: Properly prefix uptime string.
Andre Noll [Sat, 18 Jul 2009 12:57:15 +0000 (14:57 +0200)]
audiod: Properly prefix uptime string.

The prefix was missing the first time the uptime was printed in the status output.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 18 Jul 2009 12:27:35 +0000 (14:27 +0200)]
Merge branch 'master' into next

Conflicts:
audiod_command.c

15 years agoaudiod: Fix some memory leaks in the com_stat() error paths.
Andre Noll [Sat, 18 Jul 2009 12:22:25 +0000 (14:22 +0200)]
audiod: Fix some memory leaks in the com_stat() error paths.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 18 Jul 2009 12:02:13 +0000 (14:02 +0200)]
Merge branch 'master' into next

15 years agoFix a memory leak in filter.c.
Andre Noll [Sat, 18 Jul 2009 12:00:17 +0000 (14:00 +0200)]
Fix a memory leak in filter.c.

We must free the filter configs as well.

15 years agoFix a typo in the udp_recv help.
Andre Noll [Sat, 18 Jul 2009 10:26:04 +0000 (12:26 +0200)]
Fix a typo in the udp_recv help.

15 years agoFix memory leaks in xxx_recv_init().
Andre Noll [Sat, 18 Jul 2009 10:25:39 +0000 (12:25 +0200)]
Fix memory leaks in xxx_recv_init().

Not serious but it's good to make valgrind happy.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 18 Jul 2009 09:35:41 +0000 (11:35 +0200)]
Merge branch 'master' into next

Conflicts:
client_common.c

15 years agoMake RSA keys larger than 512 bit work.
Andre Noll [Sat, 18 Jul 2009 09:30:24 +0000 (11:30 +0200)]
Make RSA keys larger than 512 bit work.

This allows to use the 2048 bit keys which are necessary for paraslash-0.4.x also for
paraslash-0.3.5.

15 years agoNEWS update.
Andre Noll [Sat, 18 Jul 2009 09:16:44 +0000 (11:16 +0200)]
NEWS update.

15 years agoMerge commit 'meins/next' into next
Andre Noll [Mon, 13 Jul 2009 09:03:30 +0000 (11:03 +0200)]
Merge commit 'meins/next' into next

15 years agoAdd bitrate, frequency, and channels mood methods.
Andre Noll [Sun, 12 Jul 2009 15:30:09 +0000 (17:30 +0200)]
Add bitrate, frequency, and channels mood methods.

This isolates the number comparing code from the year mood method so that it can also
be used by the new methods.

15 years agoAdd mood methods {artist, title, album, comment}_matches.
Andre Noll [Sun, 12 Jul 2009 10:28:26 +0000 (12:28 +0200)]
Add mood methods {artist, title, album, comment}_matches.

Document the new mood methods and remove the documentation of the played_rarely
mood method that has been deleted recently.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 11 Jul 2009 19:01:40 +0000 (21:01 +0200)]
Merge branch 'master' into next

15 years agoFix com_init() in case arguments are given.
Andre Noll [Sat, 11 Jul 2009 19:01:27 +0000 (21:01 +0200)]
Fix com_init() in case arguments are given.

As the ->name field of struct afs_table was only initialized in the afs process,
com_init(), which gets forked from the server process, did not see the table
names and would segfault due to a NULL pointer dereference if table names
were given as arguments.

Fix it by initializing the ->name fields in the definition of the afs_tables array.

This bug was introduced in commit 53d503ce back in 2007...

15 years agoScoring performance enhancements.
Andre Noll [Sat, 11 Jul 2009 15:13:04 +0000 (17:13 +0200)]
Scoring performance enhancements.

The old scoring code computed the afsi, afhi, and the path of the audio file for each
item of the mood,  which is unnecessary.  This patch moves these computations from
get_item_score() into compute_mood_score() so that afsi, afhi and path are only
computed once  per audio file.

As a result, get_item_score() can no longer fail, so we may skip the checks for negative
return values.

15 years agoMerge branch 'master' into next
Andre Noll [Sat, 11 Jul 2009 14:58:40 +0000 (16:58 +0200)]
Merge branch 'master' into next

Conflicts:
mood.c

15 years agoScoring fixes.
Andre Noll [Sat, 11 Jul 2009 14:53:50 +0000 (16:53 +0200)]
Scoring fixes.

Rename add_item_score to get_item_score(), properly check its return value,
and use the computed score only for admissible files.

15 years agoMove mood methods to a separate file.
Andre Noll [Sat, 11 Jul 2009 13:55:04 +0000 (15:55 +0200)]
Move mood methods to a separate file.

As more mood methods will be added in subsequent patches, it's good to separate
moods from mood methods.

This also removes the played_rarely mood method, since it never really worked: Whether
or not a file was played rarely depends on the afs statistics which have not been
computed at the time the mood scrore function is executed.

15 years agogui: Output "xxx tag not set" for unset tags rather than empty strings.
Andre Noll [Sat, 11 Jul 2009 11:31:50 +0000 (13:31 +0200)]
gui: Output "xxx tag not set" for unset tags rather than empty strings.

15 years agoAdd documentation to struct rc4_context.
Andre Noll [Sat, 11 Jul 2009 11:19:08 +0000 (13:19 +0200)]
Add documentation to struct rc4_context.

15 years agoMerge commit 'meins/next' into next
Andre Noll [Fri, 10 Jul 2009 12:55:05 +0000 (14:55 +0200)]
Merge commit 'meins/next' into next

15 years agoMerge commit 'fml/master' into next
Andre Noll [Fri, 10 Jul 2009 07:46:32 +0000 (09:46 +0200)]
Merge commit 'fml/master' into next

15 years agoAdd the new "year" mood method.
Andre Noll [Thu, 9 Jul 2009 18:11:55 +0000 (20:11 +0200)]
Add the new "year" mood method.

This includes a Y2K heuristic for year tags that contain only two digits. If that two-digit
number N is less or equal than the current year minus 2000, assume that it means 2000 + N.
Otherwise, assume 1900 + N.

Examples: 0 -> 2000, 42 -> 1942, 9->2009.

15 years agoAdd missing regex include to generated command_list files.
Andre Noll [Thu, 9 Jul 2009 18:04:29 +0000 (20:04 +0200)]
Add missing regex include to generated command_list files.

15 years agoMerge branch 'master' into next
Andre Noll [Thu, 9 Jul 2009 14:14:28 +0000 (16:14 +0200)]
Merge branch 'master' into next

15 years agoMerge commit 'meins/next' into next
Andre Noll [Thu, 9 Jul 2009 14:14:19 +0000 (16:14 +0200)]
Merge commit 'meins/next' into next

15 years agoIntroduce para_regcomp.
Andre Noll [Wed, 8 Jul 2009 21:10:49 +0000 (23:10 +0200)]
Introduce para_regcomp.

A wrapper for regcomp() that logs an error message if the regcomp() failed
and uses a return value according to the paraslash rules. Currently there is
only one user of regular expressions, is_v4_dot_quad(), which is converted
to para_regex(), but new callers will be added soon.

Unfortunately, this change made it necessary to include regex.h in all .c files
that use string.h. Clean up the order in which headers are included a bit while
we're at it.

Maybe I should rethink the rule "Only .c files shall include header files"...

15 years agoPass full argument list to mood parsers.
Andre Noll [Wed, 8 Jul 2009 19:59:39 +0000 (21:59 +0200)]
Pass full argument list to mood parsers.

Currently, for each mood line only the first word after the mood method  is passed
to the mood parser. Passing all arguments allows for mood parsers that take more
than one argument.l

15 years agofade.c: Fix a gcc warning on FreeBSD.
Andre Noll [Tue, 7 Jul 2009 13:53:59 +0000 (15:53 +0200)]
fade.c: Fix a gcc warning on FreeBSD.

fade.c:220: warning: long unsigned int format, time_t arg (arg 4)

15 years agoconfigure: Add config options for libosl.
Andre Noll [Mon, 6 Jul 2009 11:18:56 +0000 (13:18 +0200)]
configure: Add config options for libosl.

This adds --with-osl-headers and --with-osl-libs to allow linking against
a version of libosl which is not installed at a standard location.

15 years agoFix some format-string warnings on x86_64.
Andre Noll [Mon, 6 Jul 2009 09:08:28 +0000 (11:08 +0200)]
Fix some format-string warnings on x86_64.

15 years agorecv/filter: Init loglevel earlier.
Andre Noll [Sun, 5 Jul 2009 21:26:54 +0000 (23:26 +0200)]
recv/filter: Init loglevel earlier.

This avoids that early debug messages are always printed.

15 years agofd.c: Simplify write_ok().
Andre Noll [Sun, 5 Jul 2009 20:40:12 +0000 (22:40 +0200)]
fd.c: Simplify write_ok().

Use para_select() rather than open-code it.

15 years agofd.c: Simplify para_select().
Andre Noll [Sun, 5 Jul 2009 20:39:36 +0000 (22:39 +0200)]
fd.c: Simplify para_select().

No need  to save errno into an extra variable.

15 years agocom_stat(): Return a proper error message if an invalid option was given.
Andre Noll [Sun, 5 Jul 2009 20:38:22 +0000 (22:38 +0200)]
com_stat(): Return a proper error message if an invalid option was given.

15 years agoRewrite grab-client code.
Andre Noll [Sun, 5 Jul 2009 20:35:29 +0000 (22:35 +0200)]
Rewrite grab-client code.

This gets rid of the gengetopt grab client command line parser and all the special
treatment it caused.

15 years agoReplace split_args() by create_argv().
Andre Noll [Sun, 5 Jul 2009 16:11:32 +0000 (18:11 +0200)]
Replace split_args() by create_argv().

The latter function is superior as it honors quotes and special characters like '\n'.
This allows for example to use whitespace characters in mood methods.
Fixup and simplify all callers accordingly.

The patch broke the grab command of para_audiod which is deactivated ATM and
will be fixed in a subsequent patch.

15 years agoMerge branch 'master' into next
Andre Noll [Sun, 5 Jul 2009 08:56:17 +0000 (10:56 +0200)]
Merge branch 'master' into next

15 years agoFix a bug in the output of para_audioc.
Andre Noll [Sun, 5 Jul 2009 08:40:55 +0000 (10:40 +0200)]
Fix a bug in the output of para_audioc.

This bites In case of short writes to stdout. The bug was literally there since day one
but never showed up as short writes usually don't happen with the rather small amount
of data that is written by para_audioc.

15 years agogui: Avoid unnecessary strdup's and replace newlines by spaces in curses output.
Andre Noll [Sun, 5 Jul 2009 08:53:06 +0000 (10:53 +0200)]
gui: Avoid unnecessary strdup's and replace newlines by spaces in curses output.

align_str() made a copy of the given buffer because one of its callers, print_in_bar(),
passes a string literal and align_str() needs to truncate large strings.However, all other
callers pass a writable string anyway, so do the strdup() in print_in_bar(). This avoids the
unnecessary copies for each status item.

The areas for the status items was designed to hold only a part of a single line, so status
item text should not contain newlines. The patch replaces newlines by spaces.

Also get rid of a stale comment.