From d57e4e482e3997b1382625c84149ad0b69155fc0 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 12 May 2015 17:09:19 +0100 Subject: util: move read_password method out of qemu-img into osdep/oslib The qemu-img.c file has a read_password() method impl that is used to prompt for passwords on the console, with impls for POSIX and Windows. This will be needed by qemu-io.c too, so move it into the QEMU osdep/oslib files where it can be shared without code duplication Signed-off-by: Daniel P. Berrange Reviewed-by: Eric Blake Signed-off-by: Kevin Wolf --- util/oslib-win32.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'util/oslib-win32.c') diff --git a/util/oslib-win32.c b/util/oslib-win32.c index 87cfbe0834..730a6707a0 100644 --- a/util/oslib-win32.c +++ b/util/oslib-win32.c @@ -470,3 +470,27 @@ void os_mem_prealloc(int fd, char *area, size_t memory) memset(area + pagesize * i, 0, 1); } } + + +/* XXX: put correct support for win32 */ +int qemu_read_password(char *buf, int buf_size) +{ + int c, i; + + printf("Password: "); + fflush(stdout); + i = 0; + for (;;) { + c = getchar(); + if (c < 0) { + buf[i] = '\0'; + return -1; + } else if (c == '\n') { + break; + } else if (i < (buf_size - 1)) { + buf[i++] = c; + } + } + buf[i] = '\0'; + return 0; +} -- cgit v1.2.1