<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/client.h, branch master</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=master</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2026-03-17T22:45:43Z</updated>
<entry>
<title>Switch to SPDX identifiers.</title>
<updated>2026-03-17T22:45:43Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-15T14:57:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ea0cecf96e08c489fdcc94d046019f4ce46f58e2'/>
<id>urn:sha1:ea0cecf96e08c489fdcc94d046019f4ce46f58e2</id>
<content type='text'>
Generated with

	sed -i 's|Copyright.*Andre Noll.*|SPDX-License-Identifier: GPL-2.0 */|g' *.c *.h

followed by manually tweaking the result a bit. No license change intended.
</content>
</entry>
<entry>
<title>Remove loglevel argument of client_parse_config().</title>
<updated>2025-09-13T18:21:32Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-09-07T20:03:27Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=f29f87c74d55d99eec0a081879c8a232ba9de051'/>
<id>urn:sha1:f29f87c74d55d99eec0a081879c8a232ba9de051</id>
<content type='text'>
There are two callers, one in client_common.c and one in client.c. The
former passes NULL, hence does not need the argument. The latter passes a
non-NULL pointer to initialize the global client_loglevel integer, but this
initialization can as well be done in the caller, simplifying the code a bit.
</content>
</entry>
<entry>
<title>Remove loglevel argument of client_open().</title>
<updated>2025-09-13T18:21:32Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-09-04T17:24:33Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=edaa61da570419f46b5b2bf1e32aff5a5ec901ba'/>
<id>urn:sha1:edaa61da570419f46b5b2bf1e32aff5a5ec901ba</id>
<content type='text'>
Both callers pass NULL.
</content>
</entry>
<entry>
<title>client: Remove unused -&gt;config_file member.</title>
<updated>2018-03-30T14:18:17Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2018-03-14T19:39:28Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=b925d770ed653757edb59e32e6069b626d13bcae'/>
<id>urn:sha1:b925d770ed653757edb59e32e6069b626d13bcae</id>
<content type='text'>
Currently we store a copy of the config file path in the client task
structure for no reason at all. Remove it.
</content>
</entry>
<entry>
<title>Shorten copyright notice.</title>
<updated>2017-09-22T14:35:22Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2017-09-10T12:15:50Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=d31995b3074bb19aa4da66ce5c4774ca9ed101a1'/>
<id>urn:sha1:d31995b3074bb19aa4da66ce5c4774ca9ed101a1</id>
<content type='text'>
The GPLv2 line does not add any additional information, so drop
it. This leaves a single line of legalese text for most files, which
is about the amount of screen real estate it deserves.

This patch was created with the following script (plus some manual
fixups):

	awk '{
		if (NR &lt;= 5) {
			gs = gensub(/.*Copyright.* ([0-9]+).*Andre Noll.*/, "\\1", "g")
			if (gs != $0)
				year = gs
			next
		}
		if (NR == 6 &amp;&amp; year != "")
			printf("/* Copyright (C) %s Andre Noll &lt;maan@tuebingen.mpg.de&gt;, see file COPYING. */\n", year)
		print
	}'
</content>
</entry>
<entry>
<title>Convert para_client to lopsub.</title>
<updated>2017-03-26T09:02:28Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2016-04-10T20:29:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=56330d8f7795979211591bb54273c59beeb45327'/>
<id>urn:sha1:56330d8f7795979211591bb54273c59beeb45327</id>
<content type='text'>
This replaces the gengetopt command line parser for para_client by a
lopsub suite and links para_client against the lopsub library. The ggo
file for para_client was the last user of m4/gengetopt/complete.m4,
so this file can be removed.

The tricky part is create_merged_lpr(), which replaces
make_client_argv(). It is called from the i9e line handler and from
the completers. The new function merges the original parse result
with the arguments given at the command line to produce the parse
result stored in the client task structure.

The completers no longer duplicate the possible options each server
subcommand because the header file generated by lopsubgen exposes
an array of string literals which is suitable as the opts argument
of i9e_complete_option().
</content>
</entry>
<entry>
<title>Update year in copyright headers.</title>
<updated>2015-01-12T22:35:45Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2015-01-02T02:14:03Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=9b406cbe5d20ba969713ca3d7a8033e697476d75'/>
<id>urn:sha1:9b406cbe5d20ba969713ca3d7a8033e697476d75</id>
<content type='text'>
Done with

	files=$(git grep -l 'Copyright (C) [0-9]\{4\}\(-2014\)* Andre Noll')
	sed --in-place= -e 's/Copyright (C) \([0-9]\{4\}\)-2014 Andre Noll/Copyright (C) \1 Andre Noll/1' $files

In previous years we ran a similar script to set the second year in
the range to the current year. This is kind of silly, so let's get
rid of this useless information.

This commit replaces "Copyright (C) A-B" by "Copyright (C) A" in
all file headers, i.e. only the first year (A) is left in. Accurate
information including time stamps for each change can be obtained
from the git history.
</content>
</entry>
<entry>
<title>doc: Change email address to maan@tuebingen.mpg.de</title>
<updated>2014-08-18T20:38:53Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2014-08-09T10:49:56Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=36ec2a43a7d9c085f16544e282a439cdbaec1e00'/>
<id>urn:sha1:36ec2a43a7d9c085f16544e282a439cdbaec1e00</id>
<content type='text'>
The mail server on systemlinux.org was down for more than a week
lately, so let's use an alternative official address.  This commit
changes all maan@systemlinux.org addresses to maan@tuebingen.mpg.de.

Most .c and .h files contain the email address in the copyright header,
so they must all be patched. Three other files contain the address
for a different reason:

	* README lists email and git, gitweb and home page URLs
	* configure.ac needs it for configure -h
	* version.c contains it for the -V option of all commands
</content>
</entry>
<entry>
<title>task_register() conversion: client task</title>
<updated>2014-05-25T13:39:00Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2013-12-30T23:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=0b43ec5dfd9e301257e3c0b31733ea67c1db4426'/>
<id>urn:sha1:0b43ec5dfd9e301257e3c0b31733ea67c1db4426</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove client_disconnect().</title>
<updated>2014-05-03T12:08:00Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2013-12-31T15:44:24Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=d1c8428d048631addb89bbb6bd17ade6398dbb89'/>
<id>urn:sha1:d1c8428d048631addb89bbb6bd17ade6398dbb89</id>
<content type='text'>
Everything this function does can be done as well when the task
terminates by returning negative in -&gt;post_select().

This also avoids to leak the stream cipher structure of the previous
connection when running in interactive mode.

	1,032 bytes in 1 blocks are definitely lost in loss record 61 of 85
	   at 0x402994A: malloc (vg_replace_malloc.c:263)
	   by 0x804C689: para_malloc (string.c:71)
	   by 0x804FF87: sc_new (crypt.c:268)
	   by 0x804E204: client_post_select (client_common.c:370)
	   by 0x804D203: schedule (sched.c:59)
	   by 0x804A2E7: main (client.c:500)

	1,032 bytes in 1 blocks are definitely lost in loss record 62 of 85
	   at 0x402994A: malloc (vg_replace_malloc.c:263)
	   by 0x804C689: para_malloc (string.c:71)
	   by 0x804FF87: sc_new (crypt.c:268)
	   by 0x804E217: client_post_select (client_common.c:371)
	   by 0x804D203: schedule (sched.c:59)
	   by 0x804A2E7: main (client.c:500)
</content>
</entry>
</feed>
