add: dprintf for Windows

This commit is contained in:
2024-01-21 12:54:19 +01:00
parent c733b17acb
commit 85c3c2cbc9
4 changed files with 28 additions and 0 deletions

View File

@@ -7,6 +7,10 @@
#include <stdio.h>
#ifdef _WIN32
extern int dprintf(int stream, const char *format, ...);
#endif
void api_put() {
int mode = state->STACK[state->STACK_IDX--]; // 1 for char, 2 for num
if (mode != 1 && mode != 2) return;

View File

@@ -6,6 +6,10 @@
#define MAX_LINE 1024
#ifdef _WIN32
extern int dprintf(int stream, const char *format, ...);
#endif
size_t line_count = 0;
int read_script(const char *filename, char ***buf, size_t *lines) {
FILE *script = fopen(filename, "r");

View File

@@ -3,6 +3,10 @@
#include <stdio.h>
#include <string.h>
#ifdef _WIN32
extern int dprintf(int stream, const char *format, ...);
#endif
s_state *state = NULL;
int init_state() {
state = malloc(sizeof(s_state));

View File

@@ -8,6 +8,22 @@
int fstream = 0;
int pasm_debug_mode = 0;
#ifdef _WIN32 // i swear i hate windows at this point
#include <stdarg.h>
#include <io.h>
int dprintf(int stream, const char * format, ...) {
char buf[256] = {0}; //might overflow but whatever, fuck Windows
va_list args;
va_start(args, format);
int wrote = vsprintf(buf, format, args);
_write(stream, buf, sizeof(buf));
va_end(args);
return wrote;
}
#endif
void show_error(size_t line, char *line_) {
#ifdef _WIN32
int wrote = dprintf(fstream, "%llu| ", line + 1);