MCPcopy Create free account
hub / github.com/black-sliver/PopTracker / inputBoxWinGui

Function inputBoxWinGui

lib/tinyfiledialogs/tinyfiledialogs.cpp:2127–2175  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2125
2126
2127static int inputBoxWinGui(
2128 char * aoBuff,
2129 char const * aTitle, /* NULL or "" */
2130 char const * aMessage, /* NULL or "" may NOT contain \n nor \t */
2131 char const * aDefaultInput) /* "" , if NULL it's a passwordBox */
2132{
2133 wchar_t lTitle[128] = L"";
2134 wchar_t * lMessage = NULL;
2135 wchar_t lDefaultInput[MAX_PATH_OR_CMD] = L"";
2136 wchar_t * lTmpWChar;
2137 char * lTmpChar;
2138
2139 if (aTitle)
2140 {
2141 if (tinyfd_winUtf8) lTmpWChar = tinyfd_utf8to16(aTitle);
2142 else lTmpWChar = tinyfd_mbcsTo16(aTitle);
2143 wcscpy(lTitle, lTmpWChar);
2144 }
2145 if (aMessage)
2146 {
2147 if (tinyfd_winUtf8) lTmpWChar = tinyfd_utf8to16(aMessage);
2148 else lTmpWChar = tinyfd_mbcsTo16(aMessage);
2149 lMessage = (wchar_t *) malloc((wcslen(lTmpWChar) + 1)* sizeof(wchar_t));
2150 if (lMessage) wcscpy(lMessage, lTmpWChar);
2151 }
2152 if (aDefaultInput)
2153 {
2154 if (tinyfd_winUtf8) lTmpWChar = tinyfd_utf8to16(aDefaultInput);
2155 else lTmpWChar = tinyfd_mbcsTo16(aDefaultInput);
2156 wcscpy(lDefaultInput, lTmpWChar);
2157 lTmpWChar = tinyfd_inputBoxW(lTitle, lMessage, lDefaultInput);
2158 }
2159 else lTmpWChar = tinyfd_inputBoxW(lTitle, lMessage, NULL);
2160
2161 free(lMessage);
2162
2163 if (!lTmpWChar)
2164 {
2165 aoBuff[0] = '\0';
2166 return 0;
2167 }
2168
2169 if (tinyfd_winUtf8) lTmpChar = tinyfd_utf16to8(lTmpWChar);
2170 else lTmpChar = tinyfd_utf16toMbcs(lTmpWChar);
2171
2172 strcpy(aoBuff, lTmpChar);
2173
2174 return 1;
2175}
2176
2177
2178static char * saveFileDialogWinGui(

Callers 1

tinyfd_inputBoxFunction · 0.85

Calls 4

tinyfd_utf8to16Function · 0.85
tinyfd_mbcsTo16Function · 0.85
tinyfd_utf16to8Function · 0.85
tinyfd_utf16toMbcsFunction · 0.85

Tested by

no test coverage detected