mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-02 06:40:42 -07:00
Fix last character being truncated in clipboard::copy_text due to off-by-one error (#262)
## Link to GitHub Issue, if one exists n/a, user reported ## Description of change When copying text to clipboard, the last character was being dropped due to incorrect string buffer size calculation. Also, clean up callers to just pass std:string by reference instead of going back and forth between C-style strings. Lastly, fix `git archive` in `build_all.sh` which broke after github migration. ## Compiling Yes ## Testing Tested all three callers - IIDX cam hook, scard reader in Cards tab, and patch manager datecode.
This commit is contained in:
@@ -142,14 +142,14 @@ namespace clipboard {
|
||||
handle.detach();
|
||||
}
|
||||
|
||||
void copy_text(const std::string str) {
|
||||
void copy_text(const std::string& str) {
|
||||
if (!OpenClipboard(nullptr)) {
|
||||
log_warning("clipboard", "Failed to open clipboard");
|
||||
return;
|
||||
}
|
||||
|
||||
HGLOBAL mem = GlobalAlloc(GMEM_MOVEABLE, str.length());
|
||||
memcpy(GlobalLock(mem), str.c_str(), str.length());
|
||||
HGLOBAL mem = GlobalAlloc(GMEM_MOVEABLE, str.length() + 1);
|
||||
memcpy(GlobalLock(mem), str.c_str(), str.length() + 1);
|
||||
GlobalUnlock(mem);
|
||||
|
||||
EmptyClipboard();
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
|
||||
namespace clipboard {
|
||||
void copy_image(const std::filesystem::path path);
|
||||
void copy_text(const std::string str);
|
||||
void copy_text(const std::string& str);
|
||||
const std::string paste_text();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user