liblabafile/native/fopen.c

20 lines
789 B
C
Raw Normal View History

2024-06-18 14:04:23 +00:00
#include <stdlib.h>
#include <stdio.h>
void labashka(unsigned short (*pop)(void), void (*push)(unsigned short), size_t (*len)(void), size_t max_size ) {
unsigned short modelen = pop();
char *mode = calloc(modelen, sizeof(char));
for (short i = modelen - 1; i != -1; i--)
mode[i] = pop();
unsigned short filenamelen = pop();
char *filename = calloc(filenamelen, sizeof(char));
for (short i = filenamelen - 1; i != -1; i--)
filename[i] = pop();
FILE *file = fopen(filename, mode);
2024-06-18 14:35:08 +00:00
push((short)((0xFFFF000000000000 & (size_t)file) >> (16*3) ));
push((short)((0x0000FFFF00000000 & (size_t)file) >> (16*2) ));
push((short)((0x00000000FFFF0000 & (size_t)file) >> (16*1) ));
push((short)((0x000000000000FFFF & (size_t)file) >> (16*0) ));
2024-06-18 14:04:23 +00:00
}