Squashing file write bugs
This commit is contained in:
@@ -47,4 +47,5 @@ STD_INPUT_HANDLE :: 4294967286//(-10)->DWORD
|
||||
STD_OUTPUT_HANDLE :: 4294967285//(-11)->DWORD
|
||||
//STD_ERROR_HANDLE :: (-12)->DWORD
|
||||
GetStdHandle :: #foreign (nStdHandle: DWORD): HANDLE
|
||||
WriteConsoleA :: #foreign (hConsoleOutput: HANDLE,lpBuffer: *VOID,nNumberOfCharsToWrite: DWORD,lpNumberOfCharsWritten: LPDWORD,lpReserve: LPVOID): BOOL
|
||||
WriteConsoleA :: #foreign (hConsoleOutput: HANDLE,lpBuffer: *VOID,nNumberOfCharsToWrite: DWORD,lpNumberOfCharsWritten: LPDWORD,lpReserve: LPVOID): BOOL
|
||||
WriteConsoleW :: #foreign (hConsoleOutput: HANDLE,lpBuffer: *VOID,nNumberOfCharsToWrite: DWORD,lpNumberOfCharsWritten: LPDWORD,lpReserve: LPVOID): BOOL
|
||||
@@ -1,6 +1,7 @@
|
||||
// #import "base.kl"
|
||||
#load "gdi32.kl"
|
||||
#load "user32.kl"
|
||||
#load "os.kl"
|
||||
|
||||
String16 :: struct;; str: *U16; len: S64
|
||||
String32 :: struct;; str: *U32; len: S64
|
||||
@@ -130,7 +131,6 @@ create_bitmap :: (size: Vec2I, bottom_up: Bool = true): Windows_Bitmap
|
||||
result.hdc = CreateCompatibleDC(hdc)
|
||||
return result
|
||||
|
||||
|
||||
window_procedure :: (hwnd: HWND, msg: UINT, wparam: WPARAM, lparam: LPARAM): LRESULT
|
||||
if msg == WM_DESTROY
|
||||
PostQuitMessage(0)
|
||||
@@ -142,6 +142,7 @@ main :: (argc: int, argv: **char): int
|
||||
|
||||
string := " 豈 更 車 賈 滑 串 句 龜 龜 契 金 喇 奈 懶 癩 羅 蘿 螺 裸 邏 樂 洛 烙 珞 落 酪 駱 亂 卵 欄 爛 蘭 鸞 嵐 濫 藍 襤 拉 臘 蠟 廊 朗 浪 狼 郎 來 冷 勞 擄 櫓 爐 盧 老 蘆 虜 路 露 魯 鷺 碌 祿 綠 菉 錄 鹿 論 壟 弄 籠 聾 牢 磊 賂 雷 壘 屢 樓 淚 漏 累 縷 陋 勒 肋 凜 凌 稜 綾 菱 陵 讀 拏 樂 諾 丹 寧 怒 率 異 北 磻 便 復 不 泌 數 索 參 塞 省 葉 說 殺 辰 沈 拾 若 掠 略 亮 兩 凉 梁 糧 良 諒 量 勵 ..."
|
||||
string_result := string_to_string16(string)
|
||||
print(string_result)
|
||||
|
||||
result := utf8_to_utf32(&"A"[0], 1)
|
||||
assert(result.out_str == 'A, "Invalid decode")
|
||||
|
||||
@@ -39,6 +39,6 @@ release :: (m: *Memory)
|
||||
m.commit = 0
|
||||
m.reserve = 0
|
||||
|
||||
print :: (string: String)
|
||||
print :: (string: String16)
|
||||
handle := GetStdHandle(STD_OUTPUT_HANDLE)
|
||||
WriteConsoleA(handle, &string[0]->*void, length_of(string)->DWORD, 0, 0)
|
||||
WriteConsoleW(handle, (string.str)->*void, string.len->DWORD, 0, 0)
|
||||
|
||||
Reference in New Issue
Block a user