diff --git a/ChangeLog b/ChangeLog index 54138f66..d00073ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,7 +25,8 @@ Michael Voigt 2009-02-17 Stephane Letz - * Fix the mutex/signal classes on Windows. + * Fix the mutex/signal classes on Windows. + * Client incorrect re-naming fixed: now done at fifo level only. 2009-02-16 Stephane Letz @@ -33,8 +34,8 @@ Michael Voigt 2009-02-11 Stephane Letz - * Merge Solaris branch back on trunk. - * Equality of input and output buffer size removed (for now) in JackOSSDriver. + * Merge Solaris branch back on trunk. + * Equality of input and output buffer size removed (for now) in JackOSSDriver. 2009-02-10 Stephane Letz diff --git a/common/JackAudioAdapter.cpp b/common/JackAudioAdapter.cpp index b9fc955b..bffc6323 100644 --- a/common/JackAudioAdapter.cpp +++ b/common/JackAudioAdapter.cpp @@ -144,9 +144,9 @@ namespace Jack for ( i = 0; i < fPlaybackChannels; i++ ) fPlaybackRingBuffer[i] = new JackLibSampleRateResampler(fAudioAdapter->GetQuality()); fAudioAdapter->SetRingBuffers ( fCaptureRingBuffer, fPlaybackRingBuffer ); - if ( fCaptureChannels ) + if (fCaptureChannels > 0) jack_log ( "ReadSpace = %ld", fCaptureRingBuffer[0]->ReadSpace() ); - if ( fPlaybackChannels ) + if (fPlaybackChannels > 0) jack_log ( "WriteSpace = %ld", fPlaybackRingBuffer[0]->WriteSpace() ); //jack ports diff --git a/common/JackClient.cpp b/common/JackClient.cpp index 60a1abd1..88d363e3 100644 --- a/common/JackClient.cpp +++ b/common/JackClient.cpp @@ -926,7 +926,7 @@ int JackClient::SetProcessThread(JackThreadCallback fun, void *arg) char* JackClient::GetInternalClientName(int ref) { - char name_res[JACK_CLIENT_NAME_SIZE]; + char name_res[JACK_CLIENT_NAME_SIZE + 1]; int result = -1; fChannel->GetInternalClientName(GetClientControl()->fRefNum, ref, name_res, &result); diff --git a/common/JackLibAPI.cpp b/common/JackLibAPI.cpp index f905d581..be6522f0 100644 --- a/common/JackLibAPI.cpp +++ b/common/JackLibAPI.cpp @@ -52,21 +52,19 @@ extern "C" JackLibGlobals* JackLibGlobals::fGlobals = NULL; int JackLibGlobals::fClientCount = 0; -EXPORT jack_client_t* jack_client_open_aux(const char* ext_client_name, jack_options_t options, jack_status_t* status, va_list ap) +EXPORT jack_client_t* jack_client_open_aux(const char* client_name, jack_options_t options, jack_status_t* status, va_list ap) { jack_varargs_t va; /* variable arguments */ jack_status_t my_status; JackClient* client; - char client_name[JACK_CLIENT_NAME_SIZE + 1]; - - if (ext_client_name == NULL) { + + if (client_name == NULL) { jack_error("jack_client_open called with a NULL client_name"); return NULL; } - jack_log("jack_client_open %s", ext_client_name); - JackTools::RewriteName(ext_client_name, client_name); - + jack_log("jack_client_open %s", client_name); + if (status == NULL) /* no status from caller? */ status = &my_status; /* use local status word */ *status = (jack_status_t)0; diff --git a/common/JackNetDriver.cpp b/common/JackNetDriver.cpp index 24b64844..46c39917 100644 --- a/common/JackNetDriver.cpp +++ b/common/JackNetDriver.cpp @@ -632,7 +632,7 @@ namespace Jack { char multicast_ip[16]; strcpy ( multicast_ip, DEFAULT_MULTICAST_IP ); - char net_name[JACK_CLIENT_NAME_SIZE]; + char net_name[JACK_CLIENT_NAME_SIZE + 1]; int udp_port = DEFAULT_PORT; int mtu = DEFAULT_MTU; uint transport_sync = 1; diff --git a/common/JackServerAPI.cpp b/common/JackServerAPI.cpp index ca702287..1fe4d1c1 100644 --- a/common/JackServerAPI.cpp +++ b/common/JackServerAPI.cpp @@ -48,21 +48,19 @@ extern "C" using namespace Jack; -EXPORT jack_client_t* jack_client_open_aux(const char* ext_client_name, jack_options_t options, jack_status_t* status, va_list ap) +EXPORT jack_client_t* jack_client_open_aux(const char* client_name, jack_options_t options, jack_status_t* status, va_list ap) { jack_varargs_t va; /* variable arguments */ jack_status_t my_status; JackClient* client; - char client_name[JACK_CLIENT_NAME_SIZE + 1]; - if (ext_client_name == NULL) { + if (client_name == NULL) { jack_error("jack_client_open called with a NULL client_name"); return NULL; } - jack_log("jack_client_open %s", ext_client_name); - JackTools::RewriteName(ext_client_name, client_name); - + jack_log("jack_client_open %s", client_name); + if (status == NULL) /* no status from caller? */ status = &my_status; /* use local status word */ *status = (jack_status_t)0; diff --git a/common/JackTools.cpp b/common/JackTools.cpp index 891809dd..75209ede 100644 --- a/common/JackTools.cpp +++ b/common/JackTools.cpp @@ -169,7 +169,8 @@ namespace Jack { } } - int JackTools::GetTmpdir() { + int JackTools::GetTmpdir() + { FILE* in; size_t len; char buf[JACK_PATH_MAX + 2]; /* allow tmpdir to live anywhere, plus newline, plus null */ @@ -200,7 +201,8 @@ namespace Jack { } #endif - void JackTools::RewriteName(const char* name, char* new_name) { + void JackTools::RewriteName(const char* name, char* new_name) + { size_t i; for (i = 0; i < strlen(name); i++) { if ((name[i] == '/') || (name[i] == '\\')) diff --git a/macosx/JackMachClientChannel.cpp b/macosx/JackMachClientChannel.cpp index 360c8231..d3d81bdd 100644 --- a/macosx/JackMachClientChannel.cpp +++ b/macosx/JackMachClientChannel.cpp @@ -80,7 +80,7 @@ int JackMachClientChannel::Open(const char* server_name, const char* name, char* } // Prepare local port using client name - char buf[JACK_CLIENT_NAME_SIZE]; + char buf[JACK_CLIENT_NAME_SIZE + 1]; snprintf(buf, sizeof(buf) - 1, "%s:%s", jack_client_entry, name_res); if (!fClientPort.AllocatePort(buf, 16)) { diff --git a/macosx/JackMachSemaphore.cpp b/macosx/JackMachSemaphore.cpp index ee1b2ebd..f4b129c8 100644 --- a/macosx/JackMachSemaphore.cpp +++ b/macosx/JackMachSemaphore.cpp @@ -18,6 +18,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "JackMachSemaphore.h" +#include "JackConstants.h" #include "JackTools.h" #include "JackError.h" #include @@ -27,9 +28,11 @@ namespace Jack mach_port_t JackMachSemaphore::fBootPort = 0; -void JackMachSemaphore::BuildName(const char* name, const char* server_name, char* res) +void JackMachSemaphore::BuildName(const char* client_name, const char* server_name, char* res) { - sprintf(res, "jack_mach_sem.%d_%s_%s", JackTools::GetUID(), server_name, name); + char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; + JackTools::RewriteName(client_name, ext_client_name); + sprintf(res, "jack_mach_sem.%d_%s_%s", JackTools::GetUID(), server_name, ext_client_name); } bool JackMachSemaphore::Signal() diff --git a/posix/JackPosixSemaphore.cpp b/posix/JackPosixSemaphore.cpp index ae59afe0..30530e1c 100644 --- a/posix/JackPosixSemaphore.cpp +++ b/posix/JackPosixSemaphore.cpp @@ -28,9 +28,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. namespace Jack { -void JackPosixSemaphore::BuildName(const char* name, const char* server_name, char* res) +void JackPosixSemaphore::BuildName(const char* client_name, const char* server_name, char* res) { - sprintf(res, "jack_sem.%d_%s_%s", JackTools::GetUID(), server_name, name); + char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; + JackTools::RewriteName(client_name, ext_client_name); + sprintf(res, "jack_sem.%d_%s_%s", JackTools::GetUID(), server_name, ext_client_name); } bool JackPosixSemaphore::Signal() diff --git a/windows/JackWinNamedPipeClientChannel.cpp b/windows/JackWinNamedPipeClientChannel.cpp index 4cfc8fe1..35755b45 100644 --- a/windows/JackWinNamedPipeClientChannel.cpp +++ b/windows/JackWinNamedPipeClientChannel.cpp @@ -77,7 +77,6 @@ int JackWinNamedPipeClientChannel::Open(const char* server_name, const char* nam goto error; } - fClient = obj; return 0; diff --git a/windows/JackWinSemaphore.cpp b/windows/JackWinSemaphore.cpp index d1049ed3..88236d49 100644 --- a/windows/JackWinSemaphore.cpp +++ b/windows/JackWinSemaphore.cpp @@ -18,6 +18,7 @@ This program is free software; you can redistribute it and/or modify */ #include "JackWinSemaphore.h" +#include "JackConstants.h" #include "JackTools.h" #include "JackError.h" #include @@ -25,9 +26,11 @@ This program is free software; you can redistribute it and/or modify namespace Jack { -void JackWinSemaphore::BuildName(const char* name, const char* server_name, char* res) +void JackWinSemaphore::BuildName(const char* client_name, const char* server_name, char* res) { - sprintf(res, "jack_pipe.%s_%s", server_name, name); + char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; + JackTools::RewriteName(client_name, ext_client_name); + sprintf(res, "jack_pipe.%s_%s", server_name, ext_client_name); } bool JackWinSemaphore::Signal()