#include #include 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); 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) )); }