rawdisk code added
[instimg] / src / main.c
index 43a5b62..68b4c98 100644 (file)
@@ -2,23 +2,28 @@
 #include <stdlib.h>
 #include <windows.h>
 #include "widgets.h"
+#include "rawdisk.h"
 
 static struct wgt_window *win;
 static struct wgt_widget *lb_instto, *bn_inst, *bn_cancel, *cb_devs, *ck_usbonly;
+static struct rawdisk_device rawdev[64];
+static int num_rawdev;
 
 static void onclick(struct wgt_widget *w);
 static void onmodify(struct wgt_widget *w);
 
 int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hprevinst, char *cmdline, int showcmd)
 {
-       int x, y;
+       int i, x, y;
        MSG msg;
-       static const char *items[] = {
-               "item one",
-               "item two",
-               "item three"
-       };
+       static const char *items[64];
 
+       if((num_rawdev = rawdisk_detect(rawdev, sizeof rawdev / sizeof *rawdev)) == -1) {
+               return 1;
+       }
+       for(i=0; i<num_rawdev; i++) {
+               items[i] = rawdev[i].name;
+       }
 
        if(!(win = wgt_window("256boss USB stick installer", 400, 300))) {
                return 1;
@@ -26,8 +31,8 @@ int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hprevinst, char *cmdline, int show
        lb_instto = wgt_label(win, "Install to device:", 10, 10);
 
        x = wgt_xpos_after(lb_instto, WGT_AUTO);
-       cb_devs = wgt_combo(win, items, sizeof items / sizeof *items, 0,
-                       x, 10, WGT_AUTO, WGT_AUTO, onmodify);
+       cb_devs = wgt_combo(win, items, num_rawdev, 0, x, 10, WGT_AUTO, WGT_AUTO,
+                       onmodify);
 
        y = wgt_ypos_after(cb_devs, 16);
        ck_usbonly = wgt_checkbox(win, "only show USB devices", 1, x, y,