Shitty testsuite support for windows the hacky way because there exists no sane simple way of redirecting pipes without a heafty chunk of code.

This commit is contained in:
Dale Weiler 2013-04-24 14:04:00 +00:00
parent 1e9d3e43cb
commit a0f6b00a15
2 changed files with 27 additions and 10 deletions

35
test.c
View file

@ -157,22 +157,39 @@ int task_pclose(FILE **handles) {
* other hacks.
*/
typedef struct {
int __dummy;
/* TODO: implement */
char name_err[L_tmpnam];
char name_out[L_tmpnam];
} popen_t;
FILE **task_popen(const char *command, const char *mode) {
(void)command;
(void)mode;
FILE **handles = NULL;
char *cmd = NULL;
popen_t *open = (popen_t*)mem_a(sizeof(popen_t) * 3);
/* TODO: implement */
return NULL;
tmpnam(open->name_err);
tmpnam(open->name_out);
(void)mode; /* excluded */
util_asprintf(&cmd, "%s -redirout=%s -redirerr=%s", command, open->name_out, open->name_err);
system(cmd); /* HACK */
handles = (FILE**)(open + 1);
handles[0] = NULL;
handles[1] = fs_file_open(open->name_out, "r");
handles[2] = fs_file_open(open->name_err, "r");
return handles;
}
void task_pclose(FILE **files) {
/* TODO: implement */
(void)files;
return;
popen_t *open = ((popen_t*)files) - 1;
fs_file_close(files[1]);
fs_file_close(files[2]);
remove(open->name_err);
remove(open->name_out);
mem_d(open);
}
#endif /*! _WIN32 */

View file

@ -2,7 +2,7 @@ I: vec_ops.qc
D: some additional vector operations
T: -execute
C: -std=fteqcc
E: -vector '8 16 32'
E: -vector "8 16 32"
M: '8 16 32'
M: '4 8 16'
M: '2 4 8'