diff --git a/configure.ac b/configure.ac index cc8044ff..a99dc070 100644 --- a/configure.ac +++ b/configure.ac @@ -63,11 +63,19 @@ if test "$with_portaudio" = "no"; then else AC_CHECK_HEADERS([portaudio.h], [ - AC_CHECK_LIB([portaudio], [Pa_IsStreamActive], + # Check the portaudio library. + AC_CHECK_LIB([portaudio], [Pa_IsStreamActive]) # portaudio 19 + AC_CHECK_LIB([portaudio], [Pa_StreamActive]) # portaudio 18 + + # Then use the headers to determine the portaudio version. + # This is because on some systems with both libportaudio0 and + # libportaudio2 installed, portaudio.h and -lportaudio refer + # to different versions. + AC_CHECK_FUNC([Pa_IsStreamActive], [ have_portaudio=19 ],[ - AC_CHECK_LIB([portaudio], [Pa_StreamActive], + AC_CHECK_FUNC([Pa_StreamActive], [ have_portaudio=18 ],[ diff --git a/src/speak_lib.cpp b/src/speak_lib.cpp index dfbbd687..4e609411 100644 --- a/src/speak_lib.cpp +++ b/src/speak_lib.cpp @@ -1,6 +1,7 @@ /*************************************************************************** * Copyright (C) 2005 to 2013 by Jonathan Duddington * * email: jonsd@users.sourceforge.net * + * Copyright (C) 2013 Reece H. Dunn * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -723,7 +724,7 @@ void sync_espeak_SetPunctuationList(const wchar_t *punctlist) my_unique_identifier = 0; my_user_data = NULL; - wcsncpy(option_punctlist, punctlist, N_PUNCTLIST); + wcsncpy(option_punctlist, punctlist ? punctlist : L"", N_PUNCTLIST); option_punctlist[N_PUNCTLIST-1] = 0; } // end of sync_espeak_SetPunctuationList