mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-01-31 03:50:36 +00:00
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:
parent
1e9d3e43cb
commit
a0f6b00a15
2 changed files with 27 additions and 10 deletions
35
test.c
35
test.c
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Reference in a new issue