Skip to content

Commit 3000269

Browse files
committed
swprintf is broken in some MSVCRT versions, fixes #725
1 parent f5965fd commit 3000269

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

OpenDialog/windows.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,17 @@ char *do_save_recording_dialog(unsigned frequency)
8383
{
8484
OPENFILENAMEW dialog;
8585
wchar_t filename[MAX_PATH + 5] = L"recording.wav";
86-
static wchar_t filter[] = L"RIFF WAVE\0*.wav\0Apple AIFF\0*.aiff;*.aif;*.aifc\0Raw PCM (Stereo _______Hz, 16-bit LE)\0*.raw;*.pcm;\0All files\0*.*\0\0";
86+
static wchar_t filter[] = L"RIFF WAVE\0*.wav\0Apple AIFF\0*.aiff;*.aif;*.aifc\0Raw PCM (Stereo \u200b\u200b\u200b\u200b\u200b\u200b\u200bHz, 16-bit LE)\0*.raw;*.pcm;\0All files\0*.*\0\0";
8787

8888
memset(&dialog, 0, sizeof(dialog));
8989
dialog.lStructSize = sizeof(dialog);
9090
dialog.lpstrFile = filename;
9191
dialog.nMaxFile = MAX_PATH;
9292
dialog.lpstrFilter = filter;
93-
swprintf(filter + sizeof("RIFF WAVE\0*.wav\0Apple AIFF\0*.aiff;*.aif;*.aifc\0Raw PCM (Stereo ") - 1,
94-
sizeof("_______Hz, 16-bit LE)"),
95-
L"%dHz, 16-bit LE) ",
96-
frequency);
93+
94+
wchar_t temp[11];
95+
_itow(frequency, temp, 10);
96+
memcpy(filter + sizeof("RIFF WAVE\0*.wav\0Apple AIFF\0*.aiff;*.aif;*.aifc\0Raw PCM (Stereo ") - 1, temp, min(wcslen(temp), 7) * sizeof(wchar_t));
9797

9898
dialog.nFilterIndex = 1;
9999
dialog.lpstrInitialDir = NULL;

0 commit comments

Comments
 (0)