|
16 | 16 |
|
17 | 17 | #if defined(_WIN32) || defined(_WIN64)
|
18 | 18 |
|
19 |
| -#include <windows.h> |
20 | 19 | #include <lwt_unix.h>
|
21 | 20 |
|
22 | 21 | /* +-----------------------------------------------------------------+
|
@@ -140,24 +139,16 @@ static void worker_read_console_input(struct job_read_console_input *job)
|
140 | 139 | }
|
141 | 140 | }
|
142 | 141 |
|
143 |
| -CAMLprim value lt_windows_read_console_input_job(value val_fd) |
| 142 | +static value result_read_console_input(struct job_read_console_input *job) |
144 | 143 | {
|
145 |
| - LWT_UNIX_INIT_JOB(job, read_console_input, 0); |
146 |
| - job->handle = Handle_val(val_fd); |
147 |
| - job->error_code = 0; |
148 |
| - CAMLreturn(lwt_unix_alloc_job(&(job->job))); |
149 |
| -} |
150 |
| - |
151 |
| -static value result_read_console_input_result(struct job_read_console_input *job) |
152 |
| -{ |
153 |
| - INPUT_RECORD input; |
| 144 | + INPUT_RECORD * input; |
154 | 145 | DWORD cks, bs;
|
155 | 146 | WORD code;
|
156 | 147 | int i;
|
157 | 148 | CAMLparam0();
|
158 | 149 | CAMLlocal3(result, x, y);
|
159 | 150 | int error_code = job->error_code;
|
160 |
| - input = job->input; |
| 151 | + input = &(job->input); |
161 | 152 | lwt_unix_free_job(&job->job);
|
162 | 153 | if (error_code) {
|
163 | 154 | win32_maperr(error_code);
|
@@ -212,6 +203,16 @@ static value result_read_console_input_result(struct job_read_console_input *job
|
212 | 203 | CAMLreturn(Val_int(0));
|
213 | 204 | }
|
214 | 205 |
|
| 206 | +CAMLprim value lt_windows_read_console_input_job(value val_fd) |
| 207 | +{ |
| 208 | + CAMLparam0(); |
| 209 | + LWT_UNIX_INIT_JOB(job, read_console_input, 0); |
| 210 | + job->handle = Handle_val(val_fd); |
| 211 | + job->error_code = 0; |
| 212 | + return lwt_unix_alloc_job(&(job->job)); |
| 213 | + CAMLreturn(lwt_unix_alloc_job(&(job->job))); |
| 214 | +} |
| 215 | + |
215 | 216 | /* +-----------------------------------------------------------------+
|
216 | 217 | | Console informations |
|
217 | 218 | +-----------------------------------------------------------------+ */
|
|
0 commit comments