mirror of https://github.com/PCSX2/pcsx2.git
Fix a few Linux things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1816 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
c1f8444fe1
commit
f72c913c4b
|
@ -19,8 +19,6 @@
|
|||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
||||
<Add option="-DPCSX2_DEBUG" />
|
||||
<Add option="-DPCSX2_DEVBUILD" />
|
||||
<Add directory="../../include/Utilities" />
|
||||
<Add directory="../../include" />
|
||||
</Compiler>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
|
@ -63,15 +61,27 @@
|
|||
<Add option="-march=pentium4" />
|
||||
<Add option="-march=i686" />
|
||||
<Add option="-march=i586" />
|
||||
<Add directory="../../include/Utilities" />
|
||||
<Add directory="../../include" />
|
||||
<Add directory="../../../3rdparty" />
|
||||
</Compiler>
|
||||
<Unit filename="../../../3rdparty/google/dense_hash_map" />
|
||||
<Unit filename="../../../3rdparty/google/dense_hash_set" />
|
||||
<Unit filename="../../../3rdparty/google/sparse_hash_map" />
|
||||
<Unit filename="../../../3rdparty/google/sparse_hash_set" />
|
||||
<Unit filename="../../../3rdparty/google/sparsehash/densehashtable.h" />
|
||||
<Unit filename="../../../3rdparty/google/sparsehash/sparseconfig.h" />
|
||||
<Unit filename="../../../3rdparty/google/sparsehash/sparsehashtable.h" />
|
||||
<Unit filename="../../../3rdparty/google/sparsetable" />
|
||||
<Unit filename="../../../3rdparty/google/type_traits.h" />
|
||||
<Unit filename="../../include/Utilities/Console.h" />
|
||||
<Unit filename="../../include/Utilities/Dependencies.h" />
|
||||
<Unit filename="../../include/Utilities/Exceptions.h" />
|
||||
<Unit filename="../../include/Utilities/General.h" />
|
||||
<Unit filename="../../include/Utilities/HashMap.h" />
|
||||
<Unit filename="../../include/Utilities/MemcpyFast.h" />
|
||||
<Unit filename="../../include/Utilities/Path.h" />
|
||||
<Unit filename="../../include/Utilities/RedtapeWindows.h" />
|
||||
<Unit filename="../../include/Utilities/HashMap.h" />
|
||||
<Unit filename="../../include/Utilities/MemcpyFast.h" />
|
||||
<Unit filename="../../include/Utilities/Path.h" />
|
||||
<Unit filename="../../include/Utilities/RedtapeWindows.h" />
|
||||
<Unit filename="../../include/Utilities/SafeArray.h" />
|
||||
<Unit filename="../../include/Utilities/ScopedPtr.h" />
|
||||
<Unit filename="../../include/Utilities/StringHelpers.h" />
|
||||
|
@ -83,12 +93,12 @@
|
|||
<Unit filename="../../src/Utilities/AlignedMalloc.cpp" />
|
||||
<Unit filename="../../src/Utilities/Console.cpp" />
|
||||
<Unit filename="../../src/Utilities/Exceptions.cpp" />
|
||||
<Unit filename="../../src/Utilities/HashTools.cpp" />
|
||||
<Unit filename="../../src/Utilities/Linux/LnxHostSys.cpp" />
|
||||
<Unit filename="../../src/Utilities/HashTools.cpp" />
|
||||
<Unit filename="../../src/Utilities/Linux/LnxHostSys.cpp" />
|
||||
<Unit filename="../../src/Utilities/Linux/LnxMisc.cpp" />
|
||||
<Unit filename="../../src/Utilities/Linux/LnxThreads.cpp" />
|
||||
<Unit filename="../../src/Utilities/PathUtils.cpp" />
|
||||
<Unit filename="../../src/Utilities/StringHelpers.cpp" />
|
||||
<Unit filename="../../src/Utilities/PathUtils.cpp" />
|
||||
<Unit filename="../../src/Utilities/StringHelpers.cpp" />
|
||||
<Unit filename="../../src/Utilities/ThreadTools.cpp" />
|
||||
<Unit filename="../../src/Utilities/vssprintf.cpp" />
|
||||
<Unit filename="../../src/Utilities/x86/MemcpyFast.S" />
|
||||
|
|
|
@ -1,12 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_workspace_file>
|
||||
<Workspace title="pcsx2_suite_2008 workspace">
|
||||
<Project filename="pcsx2/Linux/pcsx2.cbp" active="1">
|
||||
<Depends filename="common/build/x86emitter/x86emitter.cbp" />
|
||||
<Depends filename="common/build/Utilities/Utilities.cbp" />
|
||||
<Depends filename="3rdparty/zlib/zlib.cbp" />
|
||||
<Depends filename="tools/bin2cpp/bin2cpp.cbp" />
|
||||
</Project>
|
||||
<Project filename="pcsx2/Linux/pcsx2.cbp" />
|
||||
<Project filename="common/build/x86emitter/x86emitter.cbp" />
|
||||
<Project filename="common/build/Utilities/Utilities.cbp" />
|
||||
<Project filename="3rdparty/SoundTouch/SoundTouch.cbp" />
|
||||
|
@ -22,6 +17,6 @@
|
|||
<Project filename="plugins/onepad/Linux/OnePad.cbp" />
|
||||
<Project filename="plugins/zerogs/opengl/Linux/ZeroGS.cbp" />
|
||||
<Project filename="tools/bin2cpp/bin2cpp.cbp" />
|
||||
<Project filename="plugins/spu2-x/src/Linux/SPU2-X.cbp" />
|
||||
<Project filename="plugins/spu2-x/src/Linux/SPU2-X.cbp" active="1" />
|
||||
</Workspace>
|
||||
</CodeBlocks_workspace_file>
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include "PrecompiledHeader.h"
|
||||
|
||||
#include "GS.h"
|
||||
#include <list>
|
||||
|
||||
#ifdef PCSX2_DEVBUILD
|
||||
void SaveGSState(const wxString& file)
|
||||
|
|
|
@ -1130,9 +1130,6 @@ void __forceinline finishmpeg2sliceIDEC(decoder_t* &decoder)
|
|||
waitForSCD();
|
||||
}
|
||||
|
||||
// This fixes Mana Khemia if uncommented, but needs testing.
|
||||
// Breaks Figital Devil Saga.
|
||||
//#define ALWAYS_RESUME_BEFORE_EXITING
|
||||
void mpeg2sliceIDEC(void* pdone)
|
||||
{
|
||||
u32 read;
|
||||
|
|
|
@ -164,9 +164,9 @@
|
|||
<Unit filename="../FPU.cpp" />
|
||||
<Unit filename="../FiFo.cpp" />
|
||||
<Unit filename="../GS.cpp" />
|
||||
<Unit filename="../GS.h" />
|
||||
<Unit filename="../GSstate.cpp" />
|
||||
<Unit filename="../Gif.cpp" />
|
||||
<Unit filename="../GS.h" />
|
||||
<Unit filename="../GSState.cpp" />
|
||||
<Unit filename="../Gif.cpp" />
|
||||
<Unit filename="../HostGui.h" />
|
||||
<Unit filename="../Hw.cpp" />
|
||||
<Unit filename="../Hw.h" />
|
||||
|
@ -268,8 +268,8 @@
|
|||
<Unit filename="../gui/AppAssert.cpp" />
|
||||
<Unit filename="../gui/AppConfig.cpp" />
|
||||
<Unit filename="../gui/AppConfig.h" />
|
||||
<Unit filename="../gui/AppMain.cpp" />
|
||||
<Unit filename="../gui/AppRes.cpp" />
|
||||
<Unit filename="../gui/AppMain.cpp" />
|
||||
<Unit filename="../gui/AppRes.cpp" />
|
||||
<Unit filename="../gui/CheckedStaticBox.cpp" />
|
||||
<Unit filename="../gui/CheckedStaticBox.h" />
|
||||
<Unit filename="../gui/ConsoleLogger.cpp" />
|
||||
|
|
|
@ -22,9 +22,11 @@
|
|||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
void SaveConf();
|
||||
void LoadConf();
|
||||
extern void SaveConf();
|
||||
extern void LoadConf();
|
||||
extern string s_strIniPath;
|
||||
extern GtkWidget *MsgDlg;
|
||||
exter void OnMsg_Ok();
|
||||
|
||||
#define is_checked(main_widget, widget_name) (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(main_widget, widget_name))))
|
||||
#define set_checked(main_widget,widget_name, state) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(lookup_widget(main_widget, widget_name)), state)
|
||||
|
|
|
@ -102,3 +102,7 @@ void configure()
|
|||
{
|
||||
ReadSettings();
|
||||
}
|
||||
|
||||
void SysMessage(char const*, ...)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Debug">
|
||||
<Option output="bin/Debug/SPU2-X" prefix_auto="1" extension_auto="1" />
|
||||
<Option output="../../../../bin/plugins/SPU2-X.so" prefix_auto="0" extension_auto="0" />
|
||||
<Option object_output="obj/Debug/" />
|
||||
<Option type="1" />
|
||||
<Option type="3" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
|
@ -17,9 +17,9 @@
|
|||
</Compiler>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option output="bin/Release/SPU2-X" prefix_auto="1" extension_auto="1" />
|
||||
<Option output="../../../../bin/plugins/SPU2-X.so" prefix_auto="0" extension_auto="0" />
|
||||
<Option object_output="obj/Release/" />
|
||||
<Option type="1" />
|
||||
<Option type="3" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
|
@ -35,17 +35,43 @@
|
|||
<Add option="`pkg-config gtk+-2.0 --cflags`" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-m32" />
|
||||
<Add option="-liconv" />
|
||||
<Add option="-msse2" />
|
||||
<Add directory="../Linux" />
|
||||
<Add directory="../../src" />
|
||||
<Add directory="../3rdparty" />
|
||||
<Add directory="../3rdparty/liba52" />
|
||||
<Add directory="../../../../common/include" />
|
||||
<Add directory="../../../../3rdparty/SoundTouch" />
|
||||
<Add directory="../../../../3rdparty" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add option="`pkg-config gtk+-2.0 --libs`" />
|
||||
<Add option="-shared" />
|
||||
<Add library="asound" />
|
||||
<Add library="stdc++" />
|
||||
</Linker>
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/AAFilter.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/AAFilter.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/BPMDetect.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/FIFOSampleBuffer.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/FIFOSampleBuffer.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/FIFOSamplePipe.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/FIRFilter.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/FIRFilter.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/RateTransposer.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/RateTransposer.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/STTypes.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/SoundTouch.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/SoundTouch.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/TDStretch.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/TDStretch.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/WavFile.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/WavFile.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/cpu_detect.h" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/cpu_detect_x86_gcc.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/mmx_optimized.cpp" />
|
||||
<Unit filename="../../../../3rdparty/SoundTouch/sse_optimized.cpp" />
|
||||
<Unit filename="../3rdparty/liba52/a52.h" />
|
||||
<Unit filename="../3rdparty/liba52/a52_internal.h" />
|
||||
<Unit filename="../3rdparty/liba52/attributes.h" />
|
||||
|
@ -89,7 +115,6 @@
|
|||
<Unit filename="ConfigSoundTouch.cpp" />
|
||||
<Unit filename="Dialogs.cpp" />
|
||||
<Unit filename="Dialogs.h" />
|
||||
<Unit filename="Linux.cpp" />
|
||||
<Unit filename="Linux.h" />
|
||||
<Unit filename="../Lowpass.cpp" />
|
||||
<Unit filename="../Lowpass.h" />
|
||||
|
@ -109,6 +134,7 @@
|
|||
<Unit filename="../Timestretcher.cpp" />
|
||||
<Unit filename="../Wavedump_wav.cpp" />
|
||||
<Unit filename="../defs.h" />
|
||||
<Unit filename="../iconvert.cpp" />
|
||||
<Unit filename="../regs.h" />
|
||||
<Unit filename="../spdif.h" />
|
||||
<Unit filename="../utf8.cpp" />
|
||||
|
|
|
@ -67,7 +67,6 @@ void SetIrqCall()
|
|||
has_to_call_irq=true;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
void SysMessage(const char *fmt, ...)
|
||||
{
|
||||
va_list list;
|
||||
|
@ -80,9 +79,6 @@ void SysMessage(const char *fmt, ...)
|
|||
swprintf_s(wtmp, L"%S", tmp);
|
||||
MessageBox(0, wtmp, L"SPU2-X System Message", 0);
|
||||
}
|
||||
#else
|
||||
extern void SysMessage(const char *fmt, ...);
|
||||
#endif
|
||||
|
||||
__forceinline s16 * __fastcall GetMemPtr(u32 addr)
|
||||
{
|
||||
|
|
|
@ -0,0 +1,261 @@
|
|||
/*
|
||||
* Copyright (C) 2001 Edmund Grimley Evans <edmundo@rano.org>
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
|
||||
//#ifdef HAVE_ICONV
|
||||
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <iconv.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*
|
||||
* Convert data from one encoding to another. Return:
|
||||
*
|
||||
* -2 : memory allocation failed
|
||||
* -1 : unknown encoding
|
||||
* 0 : data was converted exactly
|
||||
* 1 : data was converted inexactly
|
||||
* 2 : data was invalid (but still converted)
|
||||
*
|
||||
* We convert in two steps, via UTF-8, as this is the only
|
||||
* reliable way of distinguishing between invalid input
|
||||
* and valid input which iconv refuses to transliterate.
|
||||
* We convert from UTF-8 twice, because we have no way of
|
||||
* knowing whether the conversion was exact if iconv returns
|
||||
* E2BIG (due to a bug in the specification of iconv).
|
||||
* An alternative approach is to assume that the output of
|
||||
* iconv is never more than 4 times as long as the input,
|
||||
* but I prefer to avoid that assumption if possible.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
int iconvert(const char *fromcode, const char *tocode,
|
||||
const char *from, size_t fromlen,
|
||||
char **to, size_t *tolen)
|
||||
{
|
||||
int ret = 0;
|
||||
iconv_t cd1, cd2;
|
||||
char *ib;
|
||||
char *ob;
|
||||
char *utfbuf = 0, *outbuf, *newbuf;
|
||||
size_t utflen, outlen, ibl, obl, k;
|
||||
char tbuf[2048];
|
||||
|
||||
cd1 = iconv_open("UTF-8", fromcode);
|
||||
if (cd1 == (iconv_t)(-1))
|
||||
return -1;
|
||||
|
||||
cd2 = (iconv_t)(-1);
|
||||
/* Don't use strcasecmp() as it's locale-dependent. */
|
||||
if (!strchr("Uu", tocode[0]) ||
|
||||
!strchr("Tt", tocode[1]) ||
|
||||
!strchr("Ff", tocode[2]) ||
|
||||
tocode[3] != '-' ||
|
||||
tocode[4] != '8' ||
|
||||
tocode[5] != '\0')
|
||||
{
|
||||
char *tocode1;
|
||||
|
||||
/*
|
||||
* Try using this non-standard feature of glibc and libiconv.
|
||||
* This is deliberately not a config option as people often
|
||||
* change their iconv library without rebuilding applications.
|
||||
*/
|
||||
tocode1 = (char *)malloc(strlen(tocode) + 11);
|
||||
if (!tocode1)
|
||||
goto fail;
|
||||
|
||||
strcpy(tocode1, tocode);
|
||||
strcat(tocode1, "//TRANSLIT");
|
||||
cd2 = iconv_open(tocode1, "UTF-8");
|
||||
free(tocode1);
|
||||
|
||||
if (cd2 == (iconv_t)(-1))
|
||||
cd2 = iconv_open(tocode, fromcode);
|
||||
|
||||
if (cd2 == (iconv_t)(-1))
|
||||
{
|
||||
iconv_close(cd1);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
utflen = 1; /*fromlen * 2 + 1; XXX */
|
||||
utfbuf = (char *)malloc(utflen);
|
||||
if (!utfbuf)
|
||||
goto fail;
|
||||
|
||||
/* Convert to UTF-8 */
|
||||
ib = (char *)from;
|
||||
ibl = fromlen;
|
||||
ob = utfbuf;
|
||||
obl = utflen;
|
||||
for (;;)
|
||||
{
|
||||
k = iconv(cd1, &ib, &ibl, &ob, &obl);
|
||||
assert((!k && !ibl) ||
|
||||
(k == (size_t)(-1) && errno == E2BIG && ibl && obl < 6) ||
|
||||
(k == (size_t)(-1) &&
|
||||
(errno == EILSEQ || errno == EINVAL) && ibl));
|
||||
if (!ibl)
|
||||
break;
|
||||
if (obl < 6)
|
||||
{
|
||||
/* Enlarge the buffer */
|
||||
utflen *= 2;
|
||||
newbuf = (char *)realloc(utfbuf, utflen);
|
||||
if (!newbuf)
|
||||
goto fail;
|
||||
ob = (ob - utfbuf) + newbuf;
|
||||
obl = utflen - (ob - newbuf);
|
||||
utfbuf = newbuf;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Invalid input */
|
||||
ib++, ibl--;
|
||||
*ob++ = '#', obl--;
|
||||
ret = 2;
|
||||
iconv(cd1, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (cd2 == (iconv_t)(-1))
|
||||
{
|
||||
/* The target encoding was UTF-8 */
|
||||
if (tolen)
|
||||
*tolen = ob - utfbuf;
|
||||
if (!to)
|
||||
{
|
||||
free(utfbuf);
|
||||
iconv_close(cd1);
|
||||
return ret;
|
||||
}
|
||||
newbuf = (char *)realloc(utfbuf, (ob - utfbuf) + 1);
|
||||
if (!newbuf)
|
||||
goto fail;
|
||||
ob = (ob - utfbuf) + newbuf;
|
||||
*ob = '\0';
|
||||
*to = newbuf;
|
||||
iconv_close(cd1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Truncate the buffer to be tidy */
|
||||
utflen = ob - utfbuf;
|
||||
newbuf = (char *)realloc(utfbuf, utflen);
|
||||
if (!newbuf)
|
||||
goto fail;
|
||||
utfbuf = newbuf;
|
||||
|
||||
/* Convert from UTF-8 to discover how long the output is */
|
||||
outlen = 0;
|
||||
ib = utfbuf;
|
||||
ibl = utflen;
|
||||
while (ibl)
|
||||
{
|
||||
ob = tbuf;
|
||||
obl = sizeof(tbuf);
|
||||
k = iconv(cd2, &ib, &ibl, &ob, &obl);
|
||||
assert((k != (size_t)(-1) && !ibl) ||
|
||||
(k == (size_t)(-1) && errno == E2BIG && ibl) ||
|
||||
(k == (size_t)(-1) && errno == EILSEQ && ibl));
|
||||
if (ibl && !(k == (size_t)(-1) && errno == E2BIG))
|
||||
{
|
||||
/* Replace one character */
|
||||
char *tb = "?";
|
||||
size_t tbl = 1;
|
||||
|
||||
outlen += ob - tbuf;
|
||||
ob = tbuf;
|
||||
obl = sizeof(tbuf);
|
||||
k = iconv(cd2, &tb, &tbl, &ob, &obl);
|
||||
assert((!k && !tbl) ||
|
||||
(k == (size_t)(-1) && errno == EILSEQ && tbl));
|
||||
for (++ib, --ibl; ibl && (*ib & 0x80); ib++, ibl--)
|
||||
;
|
||||
}
|
||||
outlen += ob - tbuf;
|
||||
}
|
||||
ob = tbuf;
|
||||
obl = sizeof(tbuf);
|
||||
k = iconv(cd2, 0, 0, &ob, &obl);
|
||||
assert(!k);
|
||||
outlen += ob - tbuf;
|
||||
|
||||
/* Convert from UTF-8 for real */
|
||||
outbuf = (char *)malloc(outlen + 1);
|
||||
if (!outbuf)
|
||||
goto fail;
|
||||
ib = utfbuf;
|
||||
ibl = utflen;
|
||||
ob = outbuf;
|
||||
obl = outlen;
|
||||
while (ibl)
|
||||
{
|
||||
k = iconv(cd2, &ib, &ibl, &ob, &obl);
|
||||
assert((k != (size_t)(-1) && !ibl) ||
|
||||
(k == (size_t)(-1) && errno == EILSEQ && ibl));
|
||||
if (k && !ret)
|
||||
ret = 1;
|
||||
if (ibl && !(k == (size_t)(-1) && errno == E2BIG))
|
||||
{
|
||||
/* Replace one character */
|
||||
char *tb = "?";
|
||||
size_t tbl = 1;
|
||||
|
||||
k = iconv(cd2, &tb, &tbl, &ob, &obl);
|
||||
assert((!k && !tbl) ||
|
||||
(k == (size_t)(-1) && errno == EILSEQ && tbl));
|
||||
for (++ib, --ibl; ibl && (*ib & 0x80); ib++, ibl--)
|
||||
;
|
||||
}
|
||||
}
|
||||
k = iconv(cd2, 0, 0, &ob, &obl);
|
||||
assert(!k);
|
||||
assert(!obl);
|
||||
*ob = '\0';
|
||||
|
||||
free(utfbuf);
|
||||
iconv_close(cd1);
|
||||
iconv_close(cd2);
|
||||
if (tolen)
|
||||
*tolen = outlen;
|
||||
if (!to)
|
||||
{
|
||||
free(outbuf);
|
||||
return ret;
|
||||
}
|
||||
*to = outbuf;
|
||||
return ret;
|
||||
|
||||
fail:
|
||||
free(utfbuf);
|
||||
iconv_close(cd1);
|
||||
if (cd2 != (iconv_t)(-1))
|
||||
iconv_close(cd2);
|
||||
return -2;
|
||||
}
|
||||
|
||||
//#endif /* HAVE_ICONV */
|
||||
|
||||
/* arch-tag: e0ffb4f6-e337-4d5f-af90-d49e2b14041e
|
||||
(do not change this comment) */
|
|
@ -217,12 +217,11 @@ int utf8_decode(const char *from, char **to)
|
|||
|
||||
#else /* End win32. Rest is for real operating systems */
|
||||
|
||||
|
||||
#ifdef HAVE_LANGINFO_CODESET
|
||||
#include <langinfo.h>
|
||||
#endif
|
||||
|
||||
int iconvert(const char *fromcode, const char *tocode,
|
||||
extern int iconvert(const char *fromcode, const char *tocode,
|
||||
const char *from, size_t fromlen,
|
||||
char **to, size_t *tolen);
|
||||
|
||||
|
@ -251,17 +250,17 @@ static int convert_buffer(const char *fromcode, const char *tocode,
|
|||
{
|
||||
int ret = -1;
|
||||
|
||||
#ifdef HAVE_ICONV
|
||||
//#ifdef HAVE_ICONV
|
||||
ret = iconvert(fromcode, tocode, from, fromlen, to, tolen);
|
||||
if (ret != -1)
|
||||
return ret;
|
||||
#endif
|
||||
//#endif
|
||||
|
||||
#ifndef HAVE_ICONV /* should be ifdef USE_CHARSET_CONVERT */
|
||||
ret = charset_convert(fromcode, tocode, from, fromlen, to, tolen);
|
||||
if (ret != -1)
|
||||
return ret;
|
||||
#endif
|
||||
//#ifndef HAVE_ICONV /* should be ifdef USE_CHARSET_CONVERT */
|
||||
// ret = charset_convert(fromcode, tocode, from, fromlen, to, tolen);
|
||||
// if (ret != -1)
|
||||
// return ret;
|
||||
//#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<Target title="Debug">
|
||||
<Option output="../../../bin/plugins/libZeroSPU2.so.0.1.0" prefix_auto="0" extension_auto="0" />
|
||||
<Option object_output="obj/Debug/" />
|
||||
<Option external_deps="../../../3rdparty/SoundTouch/libSoundTouch.a;" />
|
||||
<Option type="3" />
|
||||
<Option compiler="gcc" />
|
||||
<Option createDefFile="1" />
|
||||
|
@ -38,6 +37,7 @@
|
|||
<Add option="`pkg-config gtk+-2.0 --cflags`" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-m32" />
|
||||
<Add option="-msse2" />
|
||||
<Add option="-DVERSION=1" />
|
||||
<Add directory="../Linux" />
|
||||
<Add directory="../../zerospu2" />
|
||||
|
@ -53,6 +53,27 @@
|
|||
<Add library="stdc++" />
|
||||
<Add library="dl" />
|
||||
</Linker>
|
||||
<Unit filename="../../../3rdparty/SoundTouch/AAFilter.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/AAFilter.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/BPMDetect.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/FIFOSampleBuffer.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/FIFOSampleBuffer.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/FIFOSamplePipe.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/FIRFilter.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/FIRFilter.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/RateTransposer.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/RateTransposer.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/STTypes.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/SoundTouch.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/SoundTouch.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/TDStretch.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/TDStretch.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/WavFile.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/WavFile.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/cpu_detect.h" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/cpu_detect_x86_gcc.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/mmx_optimized.cpp" />
|
||||
<Unit filename="../../../3rdparty/SoundTouch/sse_optimized.cpp" />
|
||||
<Unit filename="Alsa.cpp" />
|
||||
<Unit filename="Linux.cpp" />
|
||||
<Unit filename="Linux.h" />
|
||||
|
@ -66,7 +87,6 @@
|
|||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="support.h" />
|
||||
<Unit filename="zerospu2.glade" />
|
||||
<Unit filename="../misc.h" />
|
||||
<Unit filename="../reg.h" />
|
||||
<Unit filename="../voices.cpp" />
|
||||
|
|
Loading…
Reference in New Issue