Revision: 8736 https://osdn.net/projects/ttssh2/scm/svn/commits/8736 Author: zmatsuo Date: 2020-04-26 00:58:34 +0900 (Sun, 26 Apr 2020) Log Message: ----------- 未使用コード削除 - UNICODE_INTERNAL_BUFFを見ないようにした Modified Paths: -------------- trunk/teraterm/teraterm/clipboar.c trunk/teraterm/teraterm/clipboar.h -------------- next part -------------- Modified: trunk/teraterm/teraterm/clipboar.c =================================================================== --- trunk/teraterm/teraterm/clipboar.c 2020-04-23 14:29:36 UTC (rev 8735) +++ trunk/teraterm/teraterm/clipboar.c 2020-04-25 15:58:34 UTC (rev 8736) @@ -49,16 +49,9 @@ #include "clipboar.h" #include "tt_res.h" #include "fileread.h" -#include "unicode_test.h" #include "sendmem.h" #include "clipboarddlg.h" -// for clipboard copy -static HGLOBAL CBCopyHandle = NULL; -static PCHAR CBCopyPtr = NULL; -static HGLOBAL CBCopyWideHandle = NULL; -static LPWSTR CBCopyWidePtr = NULL; - // for clipboard paste static HGLOBAL CBMemHandle = NULL; static PCHAR CBMemPtr = NULL; @@ -74,76 +67,7 @@ static const wchar_t BracketEndW[] = L"\033[201~"; static void CBEcho(void); -#if !UNICODE_INTERNAL_BUFF -static INT_PTR CALLBACK OnClipboardDlgProc(HWND hDlgWnd, UINT msg, WPARAM wp, LPARAM lp); -#endif -#if !UNICODE_INTERNAL_BUFF -PCHAR CBOpen(LONG MemSize) -{ - if (MemSize==0) { - return (NULL); - } - if (CBCopyHandle!=NULL) { - return (NULL); - } - CBCopyPtr = NULL; - CBCopyHandle = GlobalAlloc(GMEM_MOVEABLE, MemSize); - if (CBCopyHandle == NULL) { - MessageBeep(0); - } - else { - CBCopyPtr = GlobalLock(CBCopyHandle); - if (CBCopyPtr == NULL) { - GlobalFree(CBCopyHandle); - CBCopyHandle = NULL; - MessageBeep(0); - } - } - return (CBCopyPtr); -} - -void CBClose() -{ - BOOL Empty; - int WideCharLength; - - if (CBCopyHandle==NULL) { - return; - } - - WideCharLength = MultiByteToWideChar(CP_ACP, 0, CBCopyPtr, -1, NULL, 0); - CBCopyWideHandle = GlobalAlloc(GMEM_MOVEABLE, sizeof(WCHAR) * WideCharLength); - if (CBCopyWideHandle) { - CBCopyWidePtr = (LPWSTR)GlobalLock(CBCopyWideHandle); - MultiByteToWideChar(CP_ACP, 0, CBCopyPtr, -1, CBCopyWidePtr, WideCharLength); - GlobalUnlock(CBCopyWideHandle); - } - - Empty = FALSE; - if (CBCopyPtr!=NULL) { - Empty = (CBCopyPtr[0]==0); - } - - GlobalUnlock(CBCopyHandle); - CBCopyPtr = NULL; - - if (OpenClipboard(HVTWin)) { - EmptyClipboard(); - if (! Empty) { - SetClipboardData(CF_TEXT, CBCopyHandle); - if (CBCopyWidePtr) { - SetClipboardData(CF_UNICODETEXT, CBCopyWideHandle); - CBCopyWidePtr = NULL; - } - } - CloseClipboard(); - } - CBCopyHandle = NULL; - CBCopyWideHandle = NULL; -} -#endif - /** * \x95\xB6\x8E\x9A\x97M * \x8E\x9F\x82̂Ƃ\xB1\x82납\x82\xE7\x8Eg\x97p\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9 @@ -189,24 +113,6 @@ } } -#if !UNICODE_INTERNAL_BUFF -// \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x83o\x83b\x83t\x83@\x82̖\x96\x94\xF6\x82ɂ\xA0\x82\xE9 CR / LF \x82\xF0\x82\xB7\x82ׂč폜\x82\xB7\x82\xE9 -static BOOL TrimTrailingNL(BOOL AddCR, BOOL Bracketed) -{ - PCHAR tail; - if (ts.PasteFlag & CPF_TRIM_TRAILING_NL) { - for (tail = CBMemPtr+strlen(CBMemPtr)-1; tail >= CBMemPtr; tail--) { - if (*tail != '\r' && *tail != '\n') { - break; - } - *tail = '\0'; - } - } - - return TRUE; -} -#endif - static void TrimTrailingNLW(wchar_t *src) { wchar_t *tail = src + wcslen(src) - 1; @@ -219,92 +125,7 @@ } } -// \x89\xFC\x8Ds\x82\xF0 CR+LF \x82ɐ\xB3\x8BK\x89\xBB\x82\xB7\x82\xE9 -static BOOL NormalizeLineBreak(BOOL AddCR, BOOL Bracketed) { - char *p, *p2; - unsigned int len, need_len, alloc_len; - HGLOBAL TmpHandle; - p = CBMemPtr; - - // \x93\\x82\xE8\x95t\x82\xAF\x83f\x81[\x83^\x82̒\xB7\x82\xB3(len)\x81A\x82\xA8\x82\xE6\x82ѐ\xB3\x8BK\x89\xBB\x8C\xE3\x82̃f\x81[\x83^\x82̒\xB7\x82\xB3(need_len)\x82̃J\x83E\x83\x93\x83g - for (len=0, need_len=0, p=CBMemPtr; *p != '\0'; p++, len++, need_len++) { - if (*p == CR) { - need_len++; - if (*(p+1) == LF) { - len++; - p++; - } - } - else if (*p == LF) { - need_len++; - } - } - - // \x90\xB3\x8BK\x89\xBB\x8C\xE3\x82\xE0\x83f\x81[\x83^\x92\xB7\x82\xAA\x95ς\xED\x82\xE7\x82Ȃ\xA2 => \x90\xB3\x8BK\x89\xBB\x82͕K\x97v\x82Ȃ\xB5 - if (need_len == len) { - return TRUE; - } - - // AddCR / Bracketed \x82̎\x9E\x82͂\xBB\x82̕\xAA\x82̃o\x83b\x83t\x83@\x82\xE0\x8Cv\x8EZ\x82ɓ\xFC\x82\xEA\x82\xE9 - // \x82\xA0\x82܂肱\x82\xB1\x82ł͂\xE2\x82肽\x82\xAD\x82Ȃ\xA2\x82\xAF\x82\xEA\x82\xC7 - alloc_len = need_len + 1; - if (AddCR) { - alloc_len++; - } - if (Bracketed) { - // \x8E蔲\x82\xAB - alloc_len += 12; - } - - // \x83o\x83b\x83t\x83@\x83T\x83C\x83Y\x82\xAA\x90\xB3\x8BK\x89\xBB\x8C\xE3\x82ɕK\x97v\x82ƂȂ\xE9\x92l\x82\xE6\x82菬\x82\xB3\x82\xA2\x8Fꍇ\x82̓o\x83b\x83t\x83@\x82\xF0\x8Am\x95ۂ\xB5\x92\xBC\x82\xB7 - if (GlobalSize(CBMemHandle) < alloc_len) { - GlobalUnlock(CBMemHandle); - CBMemPtr = NULL; - if ((TmpHandle = GlobalReAlloc(CBMemHandle, alloc_len, 0)) == NULL) { - // \x83\x81\x83\x82\x83\x8A\x8DĊ\x84\x82蓖\x82Ď\xB8\x94s - CBMemPtr = GlobalLock(CBMemHandle); - - // \x82Ƃ肠\x82\xA6\x82\xB8\x90\xB3\x8BK\x89\xBB\x82Ȃ\xB5\x82œ\\x82\xE8\x95t\x82\xAF\x82鎖\x82ɂ\xB7\x82\xE9 - return TRUE; - } - CBMemHandle = TmpHandle; - CBMemPtr = GlobalLock(CBMemHandle); - } - - p = CBMemPtr + len - 1; - p2 = CBMemPtr + need_len; - *p2-- = '\0'; - - while (len > 0 && p < p2) { - if (*p == LF) { - *p2-- = *p--; - if (--len == 0) { - *p2 = CR; - break; - } - if (*p != CR) { - *p2-- = CR; - if (p2 <= p) { - break; - } - else { - continue; - } - } - } - else if (*p == CR) { - *p2-- = LF; - if (p == p2) - break; - } - *p2-- = *p--; - len--; - } - - return TRUE; -} - static wchar_t *NormalizeLineBreakW(const wchar_t *src_) { const wchar_t *src = src_; @@ -369,40 +190,6 @@ return dest_top; } -// \x83t\x83@\x83C\x83\x8B\x82ɒ\xE8\x8B`\x82\xB3\x82ꂽ\x95\xB6\x8E\x9A\x97Atext\x82Ɋ܂܂\xEA\x82邩\x82ׂ\xE9\x81B -static BOOL search_dict(char *filename, char *text) -{ - BOOL ret = FALSE; - FILE *fp = NULL; - char buf[256]; - size_t len; - - if (filename == NULL || filename[0] == '\0') - return FALSE; - - if ((fp = fopen(filename, "r")) == NULL) - return FALSE; - - // TODO: \x88\xEA\x8Ds\x82\xAA256byte\x82\xA6\x82Ă\xA2\x82\xE9\x8Fꍇ\x82̍l\x97\xB6 - while (fgets(buf, sizeof(buf), fp) != NULL) { - len = strlen(buf); - if (len <= 1) { - continue; - } - if (buf[len - 1] == '\n') { - buf[len - 1] = '\0'; - } - if (strstr(text, buf)) { // hit - ret = 1; - break; - } - } - - fclose(fp); - - return (ret); -} - /** * \x83t\x83@\x83C\x83\x8B\x82ɒ\xE8\x8B`\x82\xB3\x82ꂽ\x95\xB6\x8E\x9A\x97Atext\x82Ɋ܂܂\xEA\x82邩\x82ׂ\xE9\x81B * \x8C\xA9\x82\xA9\x82\xEA\x82\xCE TRUE\x82\xF0\x95Ԃ\xB7 @@ -462,12 +249,12 @@ * TRUE -> \x96\xE2\x91\xE8\x82Ȃ\xB5\x81A\x93\\x82\xE8\x95t\x82\xAF\x82\xF0\x8E\xC0\x8E{ * FALSE -> \x93\\x82\xE8\x95t\x82\xAF\x92\x86\x8E~ */ -#if !UNICODE_INTERNAL_BUFF -static BOOL CheckClipboardContent(HWND HWin, BOOL AddCR, BOOL Bracketed) +static BOOL CheckClipboardContentW(HWND HWin, const wchar_t *str_w, BOOL AddCR, wchar_t **out_str_w) { - INT_PTR ret = IDOK; + INT_PTR ret; BOOL confirm = FALSE; + *out_str_w = NULL; if ((ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) == 0) { return TRUE; } @@ -486,7 +273,6 @@ * \x8Am\x94F\x82\xF0\x8Ds\x82\xED\x82Ȃ\xA2\x8E\x96\x82\xA9\x82\xE7 2 \x82̏ꍇ\x82ł\xE0\x8Am\x94F\x82͕s\x97p\x82Ƃ\xA2\x82\xA4\x88ӎv\x95\\x8E\xA6\x82Ƃ\xE0\x82Ƃ\xEA\x82\xE9\x81B * 2 \x82̓\xAE\x8D\xEC\x82͂ǂ\xBF\x82炪\x82\xA2\x82\xA2\x82\xA9? */ - if (AddCR) { if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE_CR) { confirm = TRUE; @@ -493,57 +279,6 @@ } } else { - size_t pos = strcspn(CBMemPtr, "\r\n"); // \x89\xFC\x8Ds\x82\xAA\x8A܂܂\xEA\x82Ă\xA2\x82\xBD\x82\xE7 - if (CBMemPtr[pos] != '\0') { - confirm = TRUE; - } - } - - // \x8E\xAB\x8F\x91\x82\xF0\x83T\x81[\x83`\x82\xB7\x82\xE9 - if (!confirm && search_dict(ts.ConfirmChangePasteStringFile, CBMemPtr)) { - confirm = TRUE; - } - - if (confirm) { - ret = TTDialogBox(hInst, MAKEINTRESOURCE(IDD_CLIPBOARD_DIALOG), - HWin, OnClipboardDlgProc); - /* - * \x88ȑO\x82̓_\x83C\x83A\x83\x8D\x83O\x82̓\xE0\x97e\x82\xF0\x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82ɏ\x91\x82\xAB\x96߂\xB5\x82Ă\xA2\x82\xBD\x82\xAF\x82\xEA\x82ǁA\x95K\x97v? - */ - } - - if (ret == IDOK) { - return TRUE; - } - else { - return FALSE; - } -} -#endif - -/* - * \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82̓\xE0\x97e\x82\xF0\x8Am\x94F\x82\xB5\x81A\x93\\x82\xE8\x95t\x82\xAF\x82\xF0\x8Ds\x82\xA4\x82\xA9\x8Am\x94F\x83_\x83C\x83A\x83\x8D\x83O\x82\xF0\x8Fo\x82\xB7\x81B - * - * \x95Ԃ\xE8\x92l: - * TRUE -> \x96\xE2\x91\xE8\x82Ȃ\xB5\x81A\x93\\x82\xE8\x95t\x82\xAF\x82\xF0\x8E\xC0\x8E{ - * FALSE -> \x93\\x82\xE8\x95t\x82\xAF\x92\x86\x8E~ - */ -static BOOL CheckClipboardContentW(HWND HWin, const wchar_t *str_w, BOOL AddCR, wchar_t **out_str_w) -{ - INT_PTR ret; - BOOL confirm = FALSE; - - *out_str_w = NULL; - if ((ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) == 0) { - return TRUE; - } - - if (AddCR) { - if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE_CR) { - confirm = TRUE; - } - } - else { size_t pos = wcscspn(str_w, L"\r\n"); // \x89\xFC\x8Ds\x82\xAA\x8A܂܂\xEA\x82Ă\xA2\x82\xBD\x82\xE7 if (str_w[pos] != '\0') { confirm = TRUE; @@ -572,159 +307,6 @@ } } -#if !UNICODE_INTERNAL_BUFF -void CBStartPaste(HWND HWin, BOOL AddCR, BOOL Bracketed) -{ - UINT Cf; - PCHAR TmpPtr; - LPWSTR TmpPtrW; - HGLOBAL TmpHandle; - size_t StrLen = 0, BuffLen = 0; - - if (! cv.Ready) { - return; - } - if (TalkStatus!=IdTalkKeyb) { - return; - } - - if (IsClipboardFormatAvailable(CF_UNICODETEXT)) { - Cf = CF_UNICODETEXT; - } - else if (IsClipboardFormatAvailable(CF_TEXT)) { - Cf = CF_TEXT; - } - else if (IsClipboardFormatAvailable(CF_OEMTEXT)) { - Cf = CF_OEMTEXT; - } - else { - return; - } - - CBEchoOnly = FALSE; - - if (CBMemHandle) { - GlobalFree(CBMemHandle); - } - CBMemHandle = NULL; - CBMemPtr = NULL; - CBMemPtr2 = 0; - - if (ts.PasteDelayPerLine > 0) { - CBInsertDelay = TRUE; - } - else { - CBInsertDelay = FALSE; - } - - CBRetrySend = FALSE; - CBRetryEcho = FALSE; - CBSendCR = FALSE; - - if (OpenClipboard(HWin)) { - if ((TmpHandle = GetClipboardData(Cf)) != NULL) { - if (Cf == CF_UNICODETEXT) { - TmpPtrW = (LPWSTR)GlobalLock(TmpHandle); - BuffLen = WideCharToMultiByte(CP_ACP, 0, TmpPtrW, -1, 0, 0, NULL, NULL); - } - else { - TmpPtr = (PCHAR)GlobalLock(TmpHandle); - BuffLen = strlen(TmpPtr) + 1; - } - - if (Bracketed) { - BuffLen += BracketStartLen + BracketEndLen; - } - - if (AddCR) { - BuffLen++; - } - - if ((CBMemHandle = GlobalAlloc(GHND, BuffLen)) != NULL) { - if ((CBMemPtr = GlobalLock(CBMemHandle)) != NULL) { - if (Cf == CF_UNICODETEXT) { - WideCharToMultiByte(CP_ACP, 0, TmpPtrW, -1, CBMemPtr, (int)BuffLen, NULL, NULL); - } - else { - strncpy_s(CBMemPtr, BuffLen, TmpPtr, _TRUNCATE); - } - - TalkStatus = IdTalkCB; - } - } - GlobalUnlock(TmpHandle); - } - CloseClipboard(); - } - - // \x93\\x82\xE8\x95t\x82\xAF\x82̏\x80\x94\x{142A90}\xB3\x8F\xED\x82ɏo\x97\x88\x82\xBD\x8Fꍇ\x82\xCD IdTalkCB \x82ƂȂ\xE9 - - if (TalkStatus != IdTalkCB) { - // \x8F\x80\x94\x{142A8D}s\x82\xA6\x82Ȃ\xA9\x82\xC1\x82\xBD\x8Fꍇ\x82͓\\x82\xE8\x95t\x82\xAF\x82𒆒f\x82\xB7\x82\xE9 - CBEndPaste(); - return; - } - - // \x93\\x82\xE8\x95t\x82\xAF\x91O\x82ɃN\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82̓\xE0\x97e\x82\xF0\x8Am\x94F/\x89\xC1\x8DH\x93\x99\x82\xB7\x82\xE9\x8Fꍇ\x82͂\xB1\x82\xB1\x82ōs\x82\xA4 - - if (!TrimTrailingNL(AddCR, Bracketed)) { - CBEndPaste(); - return; - } - - if (!NormalizeLineBreak(AddCR, Bracketed)) { - CBEndPaste(); - return; - } - - if (!CheckClipboardContent(HWin, AddCR, Bracketed)) { - CBEndPaste(); - return; - } - - // AddCR / Bracket \x97p\x82̗̈悪\x82\xA0\x82邩\x82̊m\x94F\x81A\x96\xB3\x82\xAF\x82\xEA\x82Βlj\xC1\x8Am\x95\xDB - StrLen = strlen(CBMemPtr); - BuffLen = StrLen + 1; // strlen + NUL - if (AddCR) { - BuffLen++; - } - if (Bracketed) { - BuffLen += BracketStartLen + BracketEndLen; - } - - if (GlobalSize(CBMemHandle) < BuffLen) { - GlobalUnlock(CBMemHandle); - CBMemPtr = NULL; - if ((TmpHandle = GlobalReAlloc(CBMemHandle, BuffLen, 0)) == NULL) { - /* - * \x95s\x91\xAB\x95\xAA\x82̊m\x95ێ\xB8\x94s\x82\xB5\x82\xBD\x8E\x9E\x82\xCD CR/Bracket \x96\xB3\x82\xB5\x82œ\\x82\xE8\x95t\x82\xAF\x82\xF0\x8Ds\x82\xA4\x82ׂ\xAB\x82\xA9\x81A - * \x82\xBB\x82\xEA\x82Ƃ\xE0\x93\\x82\xE8\x95t\x82\xAF\x8E\xA9\x91̂𒆎~\x82\xB7\x82\xE9(CBEndPaste()\x82\xF0\x8CĂ\xD4)\x82ׂ\xAB\x82\xA9\x81B - */ - // CBEndPaste(); - return; - } - CBMemHandle = TmpHandle; - CBMemPtr = GlobalLock(CBMemHandle); - } - - if (AddCR) { - CBMemPtr[StrLen++] = '\r'; - CBMemPtr[StrLen++] = 0; - } - - if (Bracketed) { - BuffLen = GlobalSize(CBMemHandle); - memmove_s(CBMemPtr+BracketStartLen, BuffLen-BracketStartLen, CBMemPtr, StrLen); - memcpy_s(CBMemPtr, BuffLen, BracketStart, BracketStartLen); - strncat_s(CBMemPtr, BuffLen, BracketEnd, _TRUNCATE); - } - - GlobalUnlock(CBMemHandle); - CBMemPtr = NULL; -} -#endif - -#if UNICODE_INTERNAL_BUFF /** * \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x97p\x83e\x83L\x83X\x83g\x91\x97\x90M\x82\xB7\x82\xE9 * @@ -755,9 +337,7 @@ #endif SendMemStart(sm); } -#endif -#if UNICODE_INTERNAL_BUFF void CBStartPaste(HWND HWin, BOOL AddCR, BOOL Bracketed) { // unsigned int StrLen = 0; @@ -829,122 +409,9 @@ CBSendStart(str_w, 0); } -#endif -#if !UNICODE_INTERNAL_BUFF void CBStartPasteB64(HWND HWin, PCHAR header, PCHAR footer) { - HANDLE tmpHandle = NULL; - char *tmpPtr = NULL; - size_t len, header_len, footer_len, b64_len; - UINT Cf; - LPWSTR tmpPtrWide = NULL; - - if (! cv.Ready) { - return; - } - if (TalkStatus!=IdTalkKeyb) { - return; - } - - CBEchoOnly = FALSE; - - if (CBMemHandle) { - GlobalFree(CBMemHandle); - } - CBMemHandle = NULL; - CBMemPtr = NULL; - CBMemPtr2 = 0; - - if (ts.PasteDelayPerLine > 0) { - CBInsertDelay = TRUE; - } - else { - CBInsertDelay = FALSE; - } - - CBRetrySend = FALSE; - CBRetryEcho = FALSE; - CBSendCR = FALSE; - - if (IsClipboardFormatAvailable(CF_UNICODETEXT) && OpenClipboard(HWin)) { - Cf = CF_UNICODETEXT; - if ((tmpHandle = GetClipboardData(CF_UNICODETEXT)) == NULL) { - CloseClipboard(); - } - } - else if (IsClipboardFormatAvailable(CF_TEXT) && OpenClipboard(HWin)) { - Cf = CF_TEXT; - if ((tmpHandle = GetClipboardData(CF_TEXT)) == NULL) { - CloseClipboard(); - } - } - else if (IsClipboardFormatAvailable(CF_OEMTEXT) && OpenClipboard(HWin)) { - Cf = CF_OEMTEXT; - if ((tmpHandle = GetClipboardData(CF_OEMTEXT)) == NULL) { - CloseClipboard(); - } - } - - if (tmpHandle) { - if (Cf == CF_UNICODETEXT) { - if ((tmpPtrWide = GlobalLock(tmpHandle)) != NULL) { - len = WideCharToMultiByte(CP_ACP, 0, tmpPtrWide, -1, 0, 0, NULL, NULL); - if ((tmpPtr = (char *)calloc(sizeof(char), len)) != NULL) { - WideCharToMultiByte(CP_ACP, 0, tmpPtrWide, -1, tmpPtr, len, NULL, NULL); - } - // WideCharToMultiByte \x82œ\xBE\x82\xE7\x82\xEA\x82\xE9\x82͖̂\x96\x94\xF6\x82\xCC \0 \x8D\x9E\x82݂̒\xB7\x82\xB3 - // \0 \x82\xF0\x83G\x83\x93\x83R\x81[\x83h\x91ΏۂɊ܂߂Ȃ\xA2\x88ׂ\xC9 1 \x8C\xB8\x82炷 - len--; - GlobalUnlock(tmpHandle); - } - } - else { - if ((tmpPtr = GlobalLock(tmpHandle)) != NULL) { - len = strlen(tmpPtr); - } - } - - if (tmpPtr) { - header_len = strlen(header); - footer_len = strlen(footer); - - b64_len = (len + 2) / 3 * 4 + header_len + footer_len + 1; - - if ((CBMemHandle = GlobalAlloc(GHND, b64_len)) != NULL) { - if ((CBMemPtr = GlobalLock(CBMemHandle)) != NULL) { - if (header_len > 0) { - strncpy_s(CBMemPtr, b64_len, header, _TRUNCATE); - } - b64encode(CBMemPtr + header_len, b64_len - header_len, tmpPtr, len); - if (footer_len > 0) { - strncat_s(CBMemPtr, b64_len, footer, _TRUNCATE); - } - TalkStatus=IdTalkCB; - GlobalUnlock(CBMemPtr); - CBMemPtr = NULL; - } - } - - if (Cf == CF_UNICODETEXT) { - free(tmpPtr); - } - else { - GlobalUnlock(tmpHandle); - } - } - CloseClipboard(); - } - - if (TalkStatus != IdTalkCB) { - CBEndPaste(); - } -} -#endif - -#if UNICODE_INTERNAL_BUFF -void CBStartPasteB64(HWND HWin, PCHAR header, PCHAR footer) -{ size_t mb_len, b64_len, header_len = 0, footer_len = 0; wchar_t *str_w = NULL; char *str_mb = NULL; @@ -1020,7 +487,6 @@ CBEndPaste(); return; } -#endif // \x82\xB1\x82̊\x94\x82̓N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xA8\x82\xE6\x82\xD1DDE\x83f\x81[\x83^\x82\xF0\x92[\x96\x96\x82֑\x97\x82荞\x82ށB // @@ -1200,260 +666,3 @@ _CrtCheckMemory(); } -#if 0 -BOOL CBSetClipboard(HWND owner, HGLOBAL hMem) -{ - char *buf; - int wide_len; - HGLOBAL wide_hMem; - LPWSTR wide_buf = 0; - - if (OpenClipboard(owner) == 0) - return FALSE; - - buf = GlobalLock(hMem); - - wide_len = MultiByteToWideChar(CP_ACP, 0, buf, -1, NULL, 0); - wide_hMem = GlobalAlloc(GMEM_MOVEABLE, sizeof(WCHAR) * wide_len); - if (wide_hMem) { - wide_buf = (LPWSTR)GlobalLock(wide_hMem); - MultiByteToWideChar(CP_ACP, 0, buf, -1, wide_buf, wide_len); - GlobalUnlock(wide_hMem); - } - - GlobalUnlock(hMem); - - EmptyClipboard(); - SetClipboardData(CF_TEXT, hMem); - if (wide_buf) { - SetClipboardData(CF_UNICODETEXT, wide_hMem); - } - CloseClipboard(); - - return TRUE; -} -#endif - -#if 0 -HGLOBAL CBAllocClipboardMem(char *text) -{ - HGLOBAL hMem; - char *buf; - int len; - - len = strlen(text); - - hMem = GlobalAlloc(GMEM_MOVEABLE, len+1); - if (hMem) { - buf = GlobalLock(hMem); - strncpy_s(buf, len+1, text, _TRUNCATE); - GlobalUnlock(hMem); - } - - return hMem; -} -#endif - -#if !UNICODE_INTERNAL_BUFF -static INT_PTR CALLBACK OnClipboardDlgProc(HWND hDlgWnd, UINT msg, WPARAM wp, LPARAM lp) -{ - static const DlgTextInfo TextInfos[] = { - { 0, "DLG_CLIPBOARD_TITLE" }, - { IDCANCEL, "BTN_CANCEL" }, - { IDOK, "BTN_OK" }, - }; - POINT p; - RECT rc_dlg; - static int ok2right, edit2ok, edit2bottom; - RECT rc_edit, rc_ok, rc_cancel; - // for status bar - static HWND hStatus = NULL; - static int init_width, init_height; - - switch (msg) { - case WM_INITDIALOG: - SetDlgTexts(hDlgWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile); - - SetDlgItemTextA(hDlgWnd, IDC_EDIT, CBMemPtr); - - if (ActiveWin == IdVT) { // VT Window - /* - * Caret off \x8E\x9E\x82\xC9 GetCaretPos() \x82Ő\xB3\x8Am\x82ȏꏊ\x82\xAA\x8E\xE6\x82\xEA\x82Ȃ\xA2\x82̂ŁA - * vtdisp.c \x93\xE0\x95\x94\x82ŊǗ\x9D\x82\xB5\x82Ă\xA2\x82\xE9\x92l\x82\xA9\x82\xE7\x8Cv\x8EZ\x82\xB7\x82\xE9 - */ - DispConvScreenToWin(CursorX, CursorY, &p.x, &p.y); - } - else if (!GetCaretPos(&p)) { // Tek Window - /* - * Tek Window \x82͓\xE0\x95\x94\x8AǗ\x9D\x82̒l\x82\xF0\x8E\xE6\x82\xE9\x82̂\xAA\x96ʓ|\x82Ȃ̂\xC5 GetCaretPos() \x82\xF0\x8Eg\x82\xA4 - * GetCaretPos() \x82\xAA\x83G\x83\x89\x81[\x82ɂȂ\xC1\x82\xBD\x8Fꍇ\x82͔O\x82̂\xBD\x82\xDF 0, 0 \x82\xF0\x93\xFC\x82\xEA\x82Ă\xA8\x82\xAD - */ - p.x = 0; - p.y = 0; - } - - // x, y \x82̗\xBC\x95\xFB\x82\xAA 0 \x82̎\x9E\x82͐e\x83E\x83B\x83\x93\x83h\x83E\x82̒\x86\x89\x9B\x82Ɉړ\xAE\x82\xB3\x82\xB9\x82\xE7\x82\xEA\x82\xE9\x82̂ŁA - // \x82\xBB\x82\xEA\x82\xF0\x96h\x82\xAE\x88ׂ\xC9 x \x82\xF0 1 \x82ɂ\xB7\x82\xE9 - if (p.x == 0 && p.y == 0) { - p.x = 1; - } - - ClientToScreen(GetParent(hDlgWnd), &p); - SetWindowPos(hDlgWnd, NULL, p.x, p.y, - 0, 0, SWP_NOSIZE | SWP_NOZORDER); - MoveWindowToDisplay(hDlgWnd); - - // \x83_\x83C\x83A\x83\x8D\x83O\x82̏\x89\x8A\xFA\x83T\x83C\x83Y\x82\xF0\x95ۑ\xB6 - GetWindowRect(hDlgWnd, &rc_dlg); - init_width = rc_dlg.right - rc_dlg.left; - init_height = rc_dlg.bottom - rc_dlg.top; - - // \x8C\xBB\x8D݃T\x83C\x83Y\x82\xA9\x82\xE7\x95K\x97v\x82Ȓl\x82\xF0\x8Cv\x8EZ - GetClientRect(hDlgWnd, &rc_dlg); - GetWindowRect(GetDlgItem(hDlgWnd, IDC_EDIT), &rc_edit); - GetWindowRect(GetDlgItem(hDlgWnd, IDOK), &rc_ok); - - p.x = rc_dlg.right; - p.y = rc_dlg.bottom; - ClientToScreen(hDlgWnd, &p); - ok2right = p.x - rc_ok.left; - edit2bottom = p.y - rc_edit.bottom; - edit2ok = rc_ok.left - rc_edit.right; - - // \x83T\x83C\x83Y\x82\xB3 - SetWindowPos(hDlgWnd, NULL, 0, 0, - ts.PasteDialogSize.cx, ts.PasteDialogSize.cy, - SWP_NOZORDER | SWP_NOMOVE); - - // \x83\x8A\x83T\x83C\x83Y\x83A\x83C\x83R\x83\x93\x82\xF0\x89E\x89\xBA\x82ɕ\\x8E\xA6\x82\xB3\x82\xB9\x82\xBD\x82\xA2\x82̂ŁA\x83X\x83e\x81[\x83^\x83X\x83o\x81[\x82\xF0\x95t\x82\xAF\x82\xE9\x81B - InitCommonControls(); - hStatus = CreateStatusWindow( - WS_CHILD | WS_VISIBLE | - CCS_BOTTOM | SBARS_SIZEGRIP, NULL, hDlgWnd, 1); - - return TRUE; - - case WM_COMMAND: - switch (LOWORD(wp)) { - case IDOK: - { - unsigned len = SendMessageA(GetDlgItem(hDlgWnd, IDC_EDIT), WM_GETTEXTLENGTH, 0, 0); - HGLOBAL hMem; - INT_PTR result = IDCANCEL; - - if (CBMemHandle == NULL) { - CBMemHandle = GlobalAlloc(GHND, len+1); - } - else if (GlobalSize(CBMemHandle) <= len) { - if (CBMemPtr) { - GlobalUnlock(CBMemHandle); - CBMemPtr = NULL; - } - hMem = GlobalReAlloc(CBMemHandle, len+1, 0); - if (hMem) { - CBMemHandle = hMem; - CBMemPtr = GlobalLock(CBMemHandle); - } - else { - /* - * \x83\x81\x83\x82\x83\x8A\x82\xAA\x8Am\x95ۂł\xAB\x82Ȃ\xA9\x82\xC1\x82\xBD\x8Fꍇ\x82͂ǂ\xA4\x82\xB7\x82\xE9\x82ׂ\xAB\x82\xA9\x81B - * - * \x83_\x83C\x83A\x83\x8D\x83O\x82ŏ\x91\x82\xAB\x8A\xB7\x82\xA6\x82\xAA\x8Ds\x82\xED\x82ꂽ\x8Fꍇ\x82\xF0\x8Dl\x82\xA6\x82\xE9\x82\xC6 - * \x83L\x83\x83\x83\x93\x83Z\x83\x8B\x88\xB5\x82\xA2\x82ɂ\xB7\x82\xE9\x95\x{30AA5B3}\x93\x82\xAA\x81A\x91\xE5\x92\xEF\x82͏\x91\x82\xAB\x8A\xB7\x82\xA6\x82\xF0 - * \x8Ds\x82\xED\x82Ȃ\xA2\x82Ǝv\x82\xED\x82\xEA\x82\xE9\x82̂ŁA\x82\xBB\x82̏ꍇ\x82͋\x8C\x97̈\xE6\x82̓\xE0\x97e\x82\xF0 - * \x93\\x82\xE8\x95t\x82\xAF\x82\xBD\x95\xFB\x82\xAA\x90e\x90B - * - * \x8E\xE6\x82肠\x82\xA6\x82\xB8\x82͈\xC0\x91S\x91\xA4\x82ɓ|\x82\xB5\x81A\x8B\x8C\x97̈\xE6\x82\xF0\x8AJ\x95\xFA\x82\xB5\x82ē\\x82\xE8\x95t\x82\xAF\x82\xAA - * \x8Ds\x82\xED\x82\xEA\x82Ȃ\xA2\x82悤\x82ɂ\xB7\x82\xE9\x81B - */ - GlobalFree(CBMemHandle); - CBMemHandle = NULL; - } - } - - if (CBMemHandle) { - if (CBMemPtr == NULL) { - CBMemPtr = GlobalLock(CBMemHandle); - } - GetDlgItemTextA(hDlgWnd, IDC_EDIT, CBMemPtr, GlobalSize(CBMemHandle)); - result = IDOK; - } - - DestroyWindow(hStatus); - TTEndDialog(hDlgWnd, result); - } - break; - - case IDCANCEL: - DestroyWindow(hStatus); - TTEndDialog(hDlgWnd, IDCANCEL); - break; - - default: - return FALSE; - } - - case WM_SIZE: - { - // \x8DĔz\x92u - POINT p; - int dlg_w, dlg_h; - - GetClientRect(hDlgWnd, &rc_dlg); - dlg_w = rc_dlg.right; - dlg_h = rc_dlg.bottom; - - GetWindowRect(GetDlgItem(hDlgWnd, IDC_EDIT), &rc_edit); - GetWindowRect(GetDlgItem(hDlgWnd, IDOK), &rc_ok); - GetWindowRect(GetDlgItem(hDlgWnd, IDCANCEL), &rc_cancel); - - // OK - p.x = rc_ok.left; - p.y = rc_ok.top; - ScreenToClient(hDlgWnd, &p); - SetWindowPos(GetDlgItem(hDlgWnd, IDOK), 0, - dlg_w - ok2right, p.y, 0, 0, - SWP_NOSIZE | SWP_NOZORDER); - - // CANCEL - p.x = rc_cancel.left; - p.y = rc_cancel.top; - ScreenToClient(hDlgWnd, &p); - SetWindowPos(GetDlgItem(hDlgWnd, IDCANCEL), 0, - dlg_w - ok2right, p.y, 0, 0, - SWP_NOSIZE | SWP_NOZORDER); - - // EDIT - p.x = rc_edit.left; - p.y = rc_edit.top; - ScreenToClient(hDlgWnd, &p); - SetWindowPos(GetDlgItem(hDlgWnd, IDC_EDIT), 0, - 0, 0, dlg_w - p.x - edit2ok - ok2right, dlg_h - p.y - edit2bottom, - SWP_NOMOVE | SWP_NOZORDER); - - // \x83T\x83C\x83Y\x82\xF0\x95ۑ\xB6 - GetWindowRect(hDlgWnd, &rc_dlg); - ts.PasteDialogSize.cx = rc_dlg.right - rc_dlg.left; - ts.PasteDialogSize.cy = rc_dlg.bottom - rc_dlg.top; - - // status bar - SendMessage(hStatus , msg , wp , lp); - } - return TRUE; - - case WM_GETMINMAXINFO: - { - // \x83_\x83C\x83A\x83\x8D\x83O\x82̏\x89\x8A\xFA\x83T\x83C\x83Y\x82\xE6\x82菬\x82\xB3\x82\xAD\x82ł\xAB\x82Ȃ\xA2\x82悤\x82ɂ\xB7\x82\xE9 - LPMINMAXINFO lpmmi; - lpmmi = (LPMINMAXINFO)lp; - lpmmi->ptMinTrackSize.x = init_width; - lpmmi->ptMinTrackSize.y = init_height; - } - return FALSE; - - default: - return FALSE; - } - return TRUE; -} -#endif Modified: trunk/teraterm/teraterm/clipboar.h =================================================================== --- trunk/teraterm/teraterm/clipboar.h 2020-04-23 14:29:36 UTC (rev 8735) +++ trunk/teraterm/teraterm/clipboar.h 2020-04-25 15:58:34 UTC (rev 8736) @@ -37,10 +37,6 @@ /* prototypes */ -#if !UNICODE_INTERNAL_BUFF -PCHAR CBOpen(LONG MemSize); -void CBClose(void); -#endif void CBStartSend(PCHAR DataPtr, int DataSize, BOOL EchoOnly); void CBStartPaste(HWND HWin, BOOL AddCR, BOOL Bracketed);