- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- - uses: msys2/setup-msys2@ddf331adaebd714795f1042345e6ca57bd66cea8 # v2
+ - uses: msys2/setup-msys2@c52d1fa9c7492275e60fe763540fb601f5f232a1 # v2
if: ${{ matrix.sys == 'msys' }}
with:
msystem: ${{ matrix.sys }}
libpsl-devel
libssh2-devel
- - uses: msys2/setup-msys2@ddf331adaebd714795f1042345e6ca57bd66cea8 # v2
+ - uses: msys2/setup-msys2@c52d1fa9c7492275e60fe763540fb601f5f232a1 # v2
if: ${{ matrix.sys != 'msys' }}
with:
msystem: ${{ matrix.sys }}
char *getpass_r(const char *prompt, char *buffer, size_t buflen)
{
- size_t i;
fputs(prompt, tool_stderr);
-
- for(i = 0; i < buflen; i++) {
- buffer[i] = (char)getch();
- if(buffer[i] == '\r' || buffer[i] == '\n') {
- buffer[i] = '\0';
- break;
- }
- else
- if(buffer[i] == '\b')
- /* remove this letter and if this is not the first key, remove the
- previous one as well */
- i = i - (i >= 1 ? 2 : 1);
- }
- /* since echo is disabled, print a newline */
+#ifdef CURL_WINDOWS_UWP
fputs("\n", tool_stderr);
- /* if user did not hit ENTER, terminate buffer */
- if(i == buflen)
- buffer[buflen-1] = '\0';
-
+ if(buflen > 0)
+ buffer[0] = '\0';
+#else
+ {
+ size_t i;
+
+ for(i = 0; i < buflen; i++) {
+ buffer[i] = (char)getch();
+ if(buffer[i] == '\r' || buffer[i] == '\n') {
+ buffer[i] = '\0';
+ break;
+ }
+ else
+ if(buffer[i] == '\b')
+ /* remove this letter and if this is not the first key, remove the
+ previous one as well */
+ i = i - (i >= 1 ? 2 : 1);
+ }
+ /* since echo is disabled, print a newline */
+ fputs("\n", tool_stderr);
+ /* if user did not hit ENTER, terminate buffer */
+ if(i == buflen)
+ buffer[buflen-1] = '\0';
+ }
+#endif
return buffer; /* we always return success */
}
#define DONE