Message ID | 3f84777ee9f4369d2aa6203f4a8b9a5775672a78.1695156110.git.hendursaga@aol.com |
---|---|
State | New |
Headers | show |
Series | [bug#66110] gnu: desmume: Update to 0.9.13. | expand |
Am Dienstag, dem 19.09.2023 um 16:42 -0400 schrieb Hendursaga: > * gnu/packages/emulators.scm (desmume): Update to 0.9.13. > [source]: Switch to git-fetch. Remove patches. > [build-system]: Switch to meson-build-system. > [arguments]<#:configure-flags>: Fix openal flag, remove experimental > wifi flag, add -Dfrontend-cli, -Dfrontend-gtk, and -Dgdb-stub flags. > <#:phases>: Add 'cd-subdir. > [native-inputs]: Add glib:bin and gettext-minimal. > [inputs]: Replace sdl with sdl2 and gtk+-2 with gtk+. Remove glu. Add > agg, alsa-lib, libpcap, openal, and soundtouch. > [home-page]: Use HTTPS. > * gnu/packages/patches/desmume-gcc6-fixes.patch, > gnu/packages/patches/desmume-gcc7-fixes.patch: Remove files. > * gnu/local.mk (dist_patch_DATA): Adjust accordingly. > --- Some stylistic choices in the ChangeLog are a little weird; overall however LGTM. > gnu/local.mk | 2 - > gnu/packages/emulators.scm | 55 ++++++++++------- > gnu/packages/patches/desmume-gcc6-fixes.patch | 59 ----------------- > -- > gnu/packages/patches/desmume-gcc7-fixes.patch | 18 ------ > 4 files changed, 34 insertions(+), 100 deletions(-) > delete mode 100644 gnu/packages/patches/desmume-gcc6-fixes.patch > delete mode 100644 gnu/packages/patches/desmume-gcc7-fixes.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index e05f687467..d4915a7d5d 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1065,8 +1065,6 @@ dist_patch_DATA > = \ > %D%/packages/patches/debops-constants-for-external-program- > names.patch \ > %D%/packages/patches/debops-debops-defaults-fall-back-to- > less.patch \ > %D%/packages/patches/dee-vapi.patch \ > - %D%/packages/patches/desmume-gcc6- > fixes.patch \ > - %D%/packages/patches/desmume-gcc7- > fixes.patch \ > %D%/packages/patches/dfu-programmer-fix-libusb.patch \ > %D%/packages/patches/diffutils-fix-signal-processing.patch \ > %D%/packages/patches/directfb-davinci-glibc-228-compat.patch \ > diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm > index ce61f935fb..830cbc3469 100644 > --- a/gnu/packages/emulators.scm > +++ b/gnu/packages/emulators.scm > @@ -19,6 +19,7 @@ > ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> > ;;; Copyright © 2023 c4droid <c4droid@foxmail.com> > ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> > +;;; Copyright © 2023 Hendursaga <hendursaga@aol.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -46,6 +47,7 @@ (define-module (gnu packages emulators) > #:use-module (guix hg-download) > #:use-module (guix utils) > #:use-module (gnu packages) > + #:use-module (gnu packages admin) > #:use-module (gnu packages algebra) > #:use-module (gnu packages assembly) > #:use-module (gnu packages audio) > @@ -219,28 +221,39 @@ (define-public blastem > (define-public desmume > (package > (name "desmume") > - (version "0.9.11") > - (source > - (origin > - (method url-fetch) > - (uri (string-append > - "mirror://sourceforge/desmume/desmume/" > - version "/desmume-" version ".tar.gz")) > - (sha256 > - (base32 > - "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs")) > - (patches (search-patches "desmume-gcc6-fixes.patch" > - "desmume-gcc7-fixes.patch")))) > - (build-system gnu-build-system) > + (version "0.9.13") > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/TASEmulators/desmume") > + (commit (string-append "release_" > + (string-replace-substring > version > + > "." "_"))))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + > "1ylxv0gjcxwj6dgwly2fjhyr0wrs5yazkim9nvqb8p72mxfwls5y")))) > + (build-system meson-build-system) > (arguments > - ;; Enable support for WiFi and microphone. > - `(#:configure-flags '("--enable-wifi" > - "--enable-openal"))) > - (native-inputs > - (list pkg-config intltool)) > - (inputs > - (list zlib sdl glib gtk+-2 glu)) > - (home-page "http://desmume.org/") > + (list #:configure-flags #~(list "-Dfrontend-cli=true" > + "-Dfrontend-gtk=true" > + "-Dgdb-stub=true" > + "-Dopenal=true") > + #:phases #~(modify-phases %standard-phases > + ;; meson.build is in a subdirectory. > + (add-after 'unpack 'cd-subdir We typically call such phases chdir. > + (lambda _ > + (chdir > "desmume/src/frontend/posix")))))) > + (native-inputs (list `(,glib "bin") gettext-minimal intltool > pkg-config)) > + (inputs (list agg > + alsa-lib > + gtk+ > + libpcap > + openal > + sdl2 > + soundtouch > + zlib)) > + (home-page "https://desmume.org/") > (synopsis "Nintendo DS emulator") > (description > "DeSmuME is an emulator for the Nintendo DS handheld gaming > console.") > diff --git a/gnu/packages/patches/desmume-gcc6-fixes.patch > b/gnu/packages/patches/desmume-gcc6-fixes.patch > deleted file mode 100644 > index 6eb9576f64..0000000000 > --- a/gnu/packages/patches/desmume-gcc6-fixes.patch > +++ /dev/null > @@ -1,59 +0,0 @@ > -From: zeromus > -Origin: upstream, https://sourceforge.net/p/desmume/code/5514, > https://sourceforge.net/p/desmume/code/5517, > https://sourceforge.net/p/desmume/code/5430 > -Subject: fix GCC6 issues > -Bug: https://sourceforge.net/p/desmume/bugs/1570/ > -Bug-Debian: http://bugs.debian.org/811691 > - > -Index: desmume/src/MMU_timing.h > -=================================================================== > ---- desmume/src/MMU_timing.h (revision 5513) > -+++ desmume/src/MMU_timing.h (revision 5517) > -@@ -155,8 +155,8 @@ > - enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT }; > - enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT }; > - enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT }; > -- enum { TAGMASK = (u32)(~0 << TAGSHIFT) }; > -- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << > BLOCKSIZESHIFT) }; > -+ enum { TAGMASK = (u32)(~0U << TAGSHIFT) }; > -+ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U > << BLOCKSIZESHIFT) }; > - enum { WORDSIZE = sizeof(u32) }; > - enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE }; > - enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY }; > -Index: desmume/src/ctrlssdl.cpp > -=================================================================== > ---- desmume/src/ctrlssdl.cpp (revision 5513) > -+++ desmume/src/ctrlssdl.cpp (revision 5517) > -@@ -200,7 +200,7 @@ > - break; > - case SDL_JOYAXISMOTION: > - /* Dead zone of 50% */ > -- if( (abs(event.jaxis.value) >> 14) != 0 ) > -+ if( ((u32)abs(event.jaxis.value) >> 14) != 0 ) > - { > - key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << > 8 | ((event.jaxis.axis & 127) << 1); > - if (event.jaxis.value > 0) { > -@@ -370,7 +370,7 @@ > - Note: button constants have a 1bit offset. */ > - case SDL_JOYAXISMOTION: > - key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 > | ((event->jaxis.axis & 127) << 1); > -- if( (abs(event->jaxis.value) >> 14) != 0 ) > -+ if( ((u32)abs(event->jaxis.value) >> 14) != 0 ) > - { > - if (event->jaxis.value > 0) > - key_code |= 1; > -Index: desmume/src/wifi.cpp > -=================================================================== > ---- desmume/src/wifi.cpp (revision 5429) > -+++ desmume/src/wifi.cpp (revision 5430) > -@@ -320,9 +320,9 @@ > - > - #if (WIFI_LOGGING_LEVEL >= 1) > - #if WIFI_LOG_USE_LOGC > -- #define WIFI_LOG(level, ...) if(level <= > WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__); > -+ #define WIFI_LOG(level, ...) if(level <= > WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__); > - #else > -- #define WIFI_LOG(level, ...) if(level <= > WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__); > -+ #define WIFI_LOG(level, ...) if(level <= > WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__); > - #endif > - #else > - #define WIFI_LOG(level, ...) {} > diff --git a/gnu/packages/patches/desmume-gcc7-fixes.patch > b/gnu/packages/patches/desmume-gcc7-fixes.patch > deleted file mode 100644 > index a4934ff6e6..0000000000 > --- a/gnu/packages/patches/desmume-gcc7-fixes.patch > +++ /dev/null > @@ -1,18 +0,0 @@ > -From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 > 2001 > -From: rogerman <rogerman@users.sf.net> > -Date: Mon, 17 Aug 2015 21:15:04 +0000 > -Subject: Fix bug with libfat string handling. > - > -diff --git a/src/utils/libfat/directory.cpp > b/src/utils/libfat/directory.cpp > -index 765d7ae5..b6d7f01f 100644 > ---- a/src/utils/libfat/directory.cpp > -+++ b/src/utils/libfat/directory.cpp > -@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* > dst, const char* src, size_t len > - int bytes; > - size_t count = 0; > - > -- while (count < len-1 && src != '\0') { > -+ while (count < len-1 && *src != '\0') { > - bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps); > - if (bytes > 0) { > - *dst = (ucs2_t)tempChar; > > base-commit: b37925ecddb4af2965220064a8a603d2fd3a77c5 Testing locally, because it failed to apply on CI – maybe the DKIM signature breaks things? It looks broken, what with those gratuitous newlines. If all checks pass, then I'll push this with minor adjustments after the grace week. Cheers
Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > Some stylistic choices in the ChangeLog are a little weird; overall > however LGTM. Not sure what exactly is wrong. I was diligent to look through dozens of previous commits by others to look for patterns to use. Is there some sort of "linter" for GNU-style ChangeLogs? > Testing locally, because it failed to apply on CI – maybe the DKIM > signature breaks things? It looks broken, what with those gratuitous > newlines. If all checks pass, then I'll push this with minor > adjustments after the grace week. Not quite sure why it failed to apply on CI. I used `git-send-email` and all. I doubt I have any control over DKIM signatures. I downloaded the raw email from the web interface and `git am`'d it successfully, although it did warn about a quoted CRLF.. ~ Hendursaga
Am Montag, dem 25.09.2023 um 13:14 -0400 schrieb Hendursaga: > Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > > > Some stylistic choices in the ChangeLog are a little weird; overall > > however LGTM. > > Not sure what exactly is wrong. I was diligent to look through dozens > of previous commits by others to look for patterns to use. Is there > some sort of "linter" for GNU-style ChangeLogs? For reference, here's the way I'd write it: > * gnu/packages/emulators.scm (desmume): Update to 0.9.13. > [source]: Switch to git-fetch. Remove patches. > [build-system]: Switch to meson-build-system. > [arguments]<#:configure-flags>: Replace “--enable-openal” with “- > Dopenal=true”. > Remove “--enable-wifi”. > Add “-Dfrontend-cli=true”, “-Dfrontend-gtk=true”, and “-Dgdb- > stub=true”. > <#:phases>: Add ‘chdir’. > [native-inputs]: Add glib:bin and gettext-minimal. > [inputs]: Replace sdl with sdl2 and gtk+-2 with gtk+. > Remove glu. > Add agg, alsa-lib, libpcap, openal, and soundtouch. > [home-page]: Use HTTPS. > * gnu/packages/patches/desmume-gcc6-fixes.patch: Removed file. > * gnu/packages/patches/desmume-gcc7-fixes.patch: Likewise. > * gnu/local.mk (dist_patch_DATA): Adjust accordingly. The most important changes are clearly delimited configure flags and two spaces instead of one. I also split some lines that technically could remain squashed together, but that's minor imho. > > Testing locally, because it failed to apply on CI – maybe the DKIM > > signature breaks things? It looks broken, what with those > > gratuitous newlines. If all checks pass, then I'll push this with > > minor adjustments after the grace week. > > Not quite sure why it failed to apply on CI. I used `git-send-email` > and all. I doubt I have any control over DKIM signatures. I > downloaded the raw email from the web interface and `git am`'d it > successfully, although it did warn about a quoted CRLF.. Thought so, just wanted you to know. Cheers
Am Montag, dem 25.09.2023 um 20:30 +0200 schrieb Liliana Marie Prikler: > Am Montag, dem 25.09.2023 um 13:14 -0400 schrieb Hendursaga: > > Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > > > > > Some stylistic choices in the ChangeLog are a little weird; > > > overall > > > however LGTM. > > > > Not sure what exactly is wrong. I was diligent to look through > > dozens > > of previous commits by others to look for patterns to use. Is there > > some sort of "linter" for GNU-style ChangeLogs? > > For reference, here's the way I'd write it: > > * gnu/packages/emulators.scm (desmume): Update to 0.9.13. > > [source]: Switch to git-fetch. Remove patches. > > [build-system]: Switch to meson-build-system. > > [arguments]<#:configure-flags>: Replace “--enable-openal” with “- > > Dopenal=true”. > > Remove “--enable-wifi”. > > Add “-Dfrontend-cli=true”, “-Dfrontend-gtk=true”, and “-Dgdb- > > stub=true”. > > <#:phases>: Add ‘chdir’. > > [native-inputs]: Add glib:bin and gettext-minimal. > > [inputs]: Replace sdl with sdl2 and gtk+-2 with gtk+. > > Remove glu. > > Add agg, alsa-lib, libpcap, openal, and soundtouch. > > [home-page]: Use HTTPS. > > * gnu/packages/patches/desmume-gcc6-fixes.patch: Removed file. > > * gnu/packages/patches/desmume-gcc7-fixes.patch: Likewise. > > * gnu/local.mk (dist_patch_DATA): Adjust accordingly. > The most important changes are clearly delimited configure flags and > two spaces instead of one. I also split some lines that technically > could remain squashed together, but that's minor imho. Pushed with the above adjustments. Thanks
diff --git a/gnu/local.mk b/gnu/local.mk index e05f687467..d4915a7d5d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1065,8 +1065,6 @@ dist_patch_DATA = \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/dee-vapi.patch \ - %D%/packages/patches/desmume-gcc6-fixes.patch \ - %D%/packages/patches/desmume-gcc7-fixes.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/diffutils-fix-signal-processing.patch \ %D%/packages/patches/directfb-davinci-glibc-228-compat.patch \ diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index ce61f935fb..830cbc3469 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2023 c4droid <c4droid@foxmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> +;;; Copyright © 2023 Hendursaga <hendursaga@aol.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ (define-module (gnu packages emulators) #:use-module (guix hg-download) #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages algebra) #:use-module (gnu packages assembly) #:use-module (gnu packages audio) @@ -219,28 +221,39 @@ (define-public blastem (define-public desmume (package (name "desmume") - (version "0.9.11") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://sourceforge/desmume/desmume/" - version "/desmume-" version ".tar.gz")) - (sha256 - (base32 - "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs")) - (patches (search-patches "desmume-gcc6-fixes.patch" - "desmume-gcc7-fixes.patch")))) - (build-system gnu-build-system) + (version "0.9.13") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TASEmulators/desmume") + (commit (string-append "release_" + (string-replace-substring version + "." "_"))))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ylxv0gjcxwj6dgwly2fjhyr0wrs5yazkim9nvqb8p72mxfwls5y")))) + (build-system meson-build-system) (arguments - ;; Enable support for WiFi and microphone. - `(#:configure-flags '("--enable-wifi" - "--enable-openal"))) - (native-inputs - (list pkg-config intltool)) - (inputs - (list zlib sdl glib gtk+-2 glu)) - (home-page "http://desmume.org/") + (list #:configure-flags #~(list "-Dfrontend-cli=true" + "-Dfrontend-gtk=true" + "-Dgdb-stub=true" + "-Dopenal=true") + #:phases #~(modify-phases %standard-phases + ;; meson.build is in a subdirectory. + (add-after 'unpack 'cd-subdir + (lambda _ + (chdir "desmume/src/frontend/posix")))))) + (native-inputs (list `(,glib "bin") gettext-minimal intltool pkg-config)) + (inputs (list agg + alsa-lib + gtk+ + libpcap + openal + sdl2 + soundtouch + zlib)) + (home-page "https://desmume.org/") (synopsis "Nintendo DS emulator") (description "DeSmuME is an emulator for the Nintendo DS handheld gaming console.") diff --git a/gnu/packages/patches/desmume-gcc6-fixes.patch b/gnu/packages/patches/desmume-gcc6-fixes.patch deleted file mode 100644 index 6eb9576f64..0000000000 --- a/gnu/packages/patches/desmume-gcc6-fixes.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: zeromus -Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430 -Subject: fix GCC6 issues -Bug: https://sourceforge.net/p/desmume/bugs/1570/ -Bug-Debian: http://bugs.debian.org/811691 - -Index: desmume/src/MMU_timing.h -=================================================================== ---- desmume/src/MMU_timing.h (revision 5513) -+++ desmume/src/MMU_timing.h (revision 5517) -@@ -155,8 +155,8 @@ - enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT }; - enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT }; - enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT }; -- enum { TAGMASK = (u32)(~0 << TAGSHIFT) }; -- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) }; -+ enum { TAGMASK = (u32)(~0U << TAGSHIFT) }; -+ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) }; - enum { WORDSIZE = sizeof(u32) }; - enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE }; - enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY }; -Index: desmume/src/ctrlssdl.cpp -=================================================================== ---- desmume/src/ctrlssdl.cpp (revision 5513) -+++ desmume/src/ctrlssdl.cpp (revision 5517) -@@ -200,7 +200,7 @@ - break; - case SDL_JOYAXISMOTION: - /* Dead zone of 50% */ -- if( (abs(event.jaxis.value) >> 14) != 0 ) -+ if( ((u32)abs(event.jaxis.value) >> 14) != 0 ) - { - key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1); - if (event.jaxis.value > 0) { -@@ -370,7 +370,7 @@ - Note: button constants have a 1bit offset. */ - case SDL_JOYAXISMOTION: - key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1); -- if( (abs(event->jaxis.value) >> 14) != 0 ) -+ if( ((u32)abs(event->jaxis.value) >> 14) != 0 ) - { - if (event->jaxis.value > 0) - key_code |= 1; -Index: desmume/src/wifi.cpp -=================================================================== ---- desmume/src/wifi.cpp (revision 5429) -+++ desmume/src/wifi.cpp (revision 5430) -@@ -320,9 +320,9 @@ - - #if (WIFI_LOGGING_LEVEL >= 1) - #if WIFI_LOG_USE_LOGC -- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__); -+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__); - #else -- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__); -+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__); - #endif - #else - #define WIFI_LOG(level, ...) {} diff --git a/gnu/packages/patches/desmume-gcc7-fixes.patch b/gnu/packages/patches/desmume-gcc7-fixes.patch deleted file mode 100644 index a4934ff6e6..0000000000 --- a/gnu/packages/patches/desmume-gcc7-fixes.patch +++ /dev/null @@ -1,18 +0,0 @@ -From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001 -From: rogerman <rogerman@users.sf.net> -Date: Mon, 17 Aug 2015 21:15:04 +0000 -Subject: Fix bug with libfat string handling. - -diff --git a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp -index 765d7ae5..b6d7f01f 100644 ---- a/src/utils/libfat/directory.cpp -+++ b/src/utils/libfat/directory.cpp -@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* dst, const char* src, size_t len - int bytes; - size_t count = 0; - -- while (count < len-1 && src != '\0') { -+ while (count < len-1 && *src != '\0') { - bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps); - if (bytes > 0) { - *dst = (ucs2_t)tempChar;