summary refs log tree commit diff stats
path: root/util/oslib-win32.c
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2015-05-12 17:09:19 +0100
committerKevin Wolf <kwolf@redhat.com>2015-05-22 17:08:01 +0200
commitd57e4e482e3997b1382625c84149ad0b69155fc0 (patch)
tree3ce7f69edf3c4e628e464f3c0d846a23a7c74cba /util/oslib-win32.c
parent8336aafae1451d54c81dd2b187b45f7c45d2428e (diff)
downloadfocaccia-qemu-d57e4e482e3997b1382625c84149ad0b69155fc0.tar.gz
focaccia-qemu-d57e4e482e3997b1382625c84149ad0b69155fc0.zip
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 <berrange@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'util/oslib-win32.c')
-rw-r--r--util/oslib-win32.c24
1 files changed, 24 insertions, 0 deletions
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;
+}