boinc/lib
Juha Sointusalo afc165146d lib: fix wide char conversion functions
When MultiByteToWideChar and WideCharToMultiByte are told to process entire input strings the functions include null terminators in required buffer sizes. std::string on the other hand stores embedded null characters in the string it manages if it's requested to do so.

The way the code constructs std::string's from wide char function outputs makes null terminators part of the strings. This breaks concatenating strings together.

Fix the code by not copying the last character, i.e. the null terminator, to std::string.
2018-07-10 23:36:38 +03:00
..
mac Mac uninstaller: better optimization and error checking 2017-07-16 20:50:03 -07:00
Makefile.am [Client] [WSL] Extend detection. 2018-06-24 03:08:11 +03:00
Makefile.mingw [Client] [WSL] Extend detection. 2018-06-24 03:08:11 +03:00
app_ipc.cpp client/wrappers, Win: consolidate defines for _getcwd etc in boinc_win.h 2017-01-26 20:59:11 -08:00
app_ipc.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
average.cpp
average.h
base64.cpp - lib: switch include order to the way it was (general to specific). 2012-08-11 05:47:18 +00:00
base64.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
boinc_fcgi.cpp Lib/Sched: remove superfluous ';' 2016-09-01 16:40:31 +02:00
boinc_fcgi.h Merge pull request #1638 from BOINC/fix_c++11_build 2017-08-14 16:56:02 -07:00
boinc_win.cpp More Line Ending Changes 2013-03-04 17:19:38 +01:00
boinc_win.h build: remove NO_PER_THREAD_LOCALE stuff 2018-03-28 16:21:33 +03:00
cal_boinc.h
cc_config.cpp [Client] [WSL] Extend detection. 2018-06-24 03:08:11 +03:00
cc_config.h [Client] [WSL] Extend detection. 2018-06-24 03:08:11 +03:00
cert_sig.cpp Line ending changes 2013-03-04 17:12:12 +01:00
cert_sig.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
cl_boinc.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
common_defs.h client: change name of autologin file 2017-11-16 20:33:46 -08:00
coproc.cpp Merge pull request #1638 from BOINC/fix_c++11_build 2017-08-14 16:56:02 -07:00
coproc.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
crypt.cpp Lib: fix indentation (whitespace changes only) 2016-07-18 16:25:31 +02:00
crypt.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
crypt_prog.cpp Tools: fix crypt_prog usage message 2016-08-26 10:22:00 +02:00
daemonmgt.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
daemonmgt_win.cpp
diagnostics.cpp lib: set correct buffering mode after cycling logs 2017-09-23 23:23:38 +03:00
diagnostics.h Android (client and API): stack trace voodoo causes crashes on some devices; disable by default. 2017-04-12 15:48:09 -07:00
diagnostics_win.cpp lib: Move 'strlen' function outside of the loop 2017-05-02 16:10:10 +03:00
diagnostics_win.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
error_numbers.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
filesys.cpp lib: fix boinc_file_exists() on Windows 2017-08-03 23:07:53 +03:00
filesys.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
gui_rpc_client.cpp fix fcgi build, hopefully 2017-07-30 16:06:43 -07:00
gui_rpc_client.h [Manager] Add HTML TOU support to Wizard 2018-06-05 01:26:42 +03:00
gui_rpc_client_ops.cpp [Manager] Add HTML TOU support to Wizard 2018-06-05 01:26:42 +03:00
gui_rpc_client_print.cpp boinccmd/lib: --get_tasks output tweaks 2018-04-06 23:42:59 +03:00
hostinfo.cpp [Client] [WSL] Fix xml output 2018-06-27 01:25:38 +03:00
hostinfo.h [Client] [WSL] Extend detection. 2018-06-24 03:08:11 +03:00
idlemon.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
idlemon_win.cpp
keyword.cpp fix fcgi build, hopefully 2017-07-30 16:06:43 -07:00
keyword.h client: parse keyword file and export keywords in get_state() GUI RPC 2017-07-30 13:12:16 -07:00
md5.cpp lib: Remove test/dead code 2016-02-16 22:00:24 -05:00
md5.h
md5_file.cpp lib: Cleanup low hanging fruit with regards to cleaning up sprintf. 2016-02-17 18:50:28 -05:00
md5_file.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
md5_test.cpp
mem_usage.cpp - fix a few unlikely but possible file-descriptor leaks 2013-03-01 16:17:19 +01:00
mem_usage.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
mfile.cpp Lib: remove superfluous include 2016-09-01 18:21:45 +02:00
mfile.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
miofile.cpp Lib: fix fcgi compile when forcing C++11 standard 2016-09-01 18:22:28 +02:00
miofile.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
msg_log.cpp sched message logging: add new level MSG_DETAIL 2017-06-06 15:53:11 -07:00
msg_log.h sched message logging: add new level MSG_DETAIL 2017-06-06 15:53:11 -07:00
msg_queue.cpp - lib: switch include order to the way it was (general to specific). 2012-08-11 05:47:18 +00:00
msg_queue.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
msg_test.cpp all components: change strcpy() to strlcpy() when possible. 2013-06-03 20:24:48 -07:00
network.cpp Lib: tweak error messages 2016-05-02 11:20:00 +02:00
network.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
notice.cpp LIB: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 17:54:13 -05:00
notice.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
opencl_boinc.cpp Merge pull request #1638 from BOINC/fix_c++11_build 2017-08-14 16:56:02 -07:00
opencl_boinc.h increased size of opencl_device_version[] from 64 to 128 2018-01-07 08:10:30 +00:00
parse.cpp Update copyright year 2018-06-04 16:48:58 +03:00
parse.h Fix VS compile warnings. No functional change. 2018-03-01 14:16:53 -08:00
parse_test.cpp Condor interface: various fixes, mostly from Jaime Frey 2013-05-27 11:45:10 -07:00
prefs.cpp LIB: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 17:54:13 -05:00
prefs.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
proc_control.cpp wrapper: let job.xml specify the process priorities of sub-tasks 2014-10-13 11:35:16 -07:00
proc_control.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
procinfo.cpp cppcheck: Prefer prefix ++/-- operators for non-primitive types 2015-01-14 21:18:29 +01:00
procinfo.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
procinfo_mac.cpp Recognize "World Community Grid.app" as part of BOINC when calculating BOINC and non-BOINC system resource usage 2018-06-29 04:14:02 -07:00
procinfo_unix.cpp API: back out long long stuff; not needed 2014-06-09 12:31:50 -07:00
procinfo_win.cpp Cross compile fixes for mingw32. 2014-05-02 15:40:59 -07:00
project_init.cpp LIB: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 17:54:13 -05:00
project_init.h change comment; not functional change 2017-07-03 14:46:01 -07:00
proxy_info.cpp client: add option to use SOCKS5 for DNS 2017-01-05 21:34:34 -08:00
proxy_info.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
remote_submit.cpp Merge pull request #2416 from BOINC/dpa_job_params 2018-05-09 12:57:40 -05:00
remote_submit.h remote job submission: add optional "job params" for batchs 2018-03-18 23:25:26 -07:00
run_app_windows.cpp lib: Fix missed parameters from 'throw' statements. 2017-04-02 08:07:44 +03:00
run_app_windows.h client: Give boinc_master full control of any process spawned using the service token created by the client for boinc_project. 2013-11-14 23:26:06 -05:00
sched_msgs.cpp scheduler: write log msgs to stderr; fixes bug introduced in #5edf74a 2017-06-14 22:31:10 -07:00
sched_msgs.h scheduler: write log msgs to stderr; fixes bug introduced in #5edf74a 2017-06-14 22:31:10 -07:00
shmem.cpp Android: Android's standalone toolchain now includes a 'sys/shm.h' header file but does not the old-style shared memory segments. 2016-06-19 16:08:33 -07:00
shmem.h
shmem_test.cpp
stackwalker_imports.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
stackwalker_win.cpp client/wrappers, Win: consolidate defines for _getcwd etc in boinc_win.h 2017-01-26 20:59:11 -08:00
stackwalker_win.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
std_fixes.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
str_replace.h Make the client simulator build again. 2018-01-19 20:51:40 -08:00
str_util.cpp Client: normalize whitespace in p_model and p_vendor entries 2017-02-13 16:16:52 +01:00
str_util.h back end: add keyword-based component to job scheduling score. 2017-07-22 00:48:38 -07:00
submit_api.py Remote job submission: fix bugs when using per-job templates 2017-10-17 08:13:29 -05:00
synch.cpp - server: compile fix 2012-08-11 16:42:29 +00:00
synch.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
synch_test.cpp
translate.cpp Mac installer: Don't load more languages for a catalog if we've already loaded it for English 2013-08-16 21:48:18 -07:00
translate.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
unix_util.cpp cppcheck: Prefer prefix ++/-- operators for non-primitive types 2015-01-14 21:18:29 +01:00
unix_util.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
url.cpp client: fix bug in URL-escaping that fails for non-ASCII chars 2017-07-01 23:26:24 -07:00
url.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
util.cpp lib: fix out of bounds write in get_real_executable_path 2017-07-17 22:11:24 +03:00
util.h Merge pull request #1820 from BOINC/fix_issue-1177 2017-04-27 01:33:46 -07:00
win_util.cpp lib: fix wide char conversion functions 2018-07-10 23:36:38 +03:00
win_util.h change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
wslinfo.cpp [Client] [WSL] Fix xml output 2018-06-27 01:25:38 +03:00
wslinfo.h [Client] [WSL] Fix xml output 2018-06-27 01:25:38 +03:00
x_util.cpp