annotate share/delvs-master/bf.c @ 12500:e48c08805365 draft default tip

<b_jonas> ` learn \'The password of the month is Cthulhuquagdonic Mothraquagdonic Narwhalicorn.\' # https://logs.esolangs.org/libera-esolangs/2024-04.html#lKE Infinite craft
author HackEso <hackeso@esolangs.org>
date Wed, 01 May 2024 06:39:10 +0000
parents 38a5b4d8a98e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3840
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
1 #include <stdio.h>
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
2 #include <string.h>
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
3 #include <stdbool.h>
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
4 #include <stdlib.h>
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
5 #include "bf.h"
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
6
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
7 bool fileExists(const char *filename) {
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
8 FILE *file;
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
9 if ((file = fopen(filename, "r")) == NULL) {
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
10 return false;
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
11 } else {
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
12 fclose(file);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
13 return true;
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
14 }
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
15 }
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
16
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
17 int main(int argc, char *argv[]) {
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
18 if(argc > 1) {
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
19 if(fileExists(argv[1])) {
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
20 FILE *fp;
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
21 long size;
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
22
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
23 fp = fopen(argv[1], "r");
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
24
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
25 fseek(fp, 0, SEEK_END);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
26 size = ftell(fp);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
27 rewind(fp);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
28
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
29 char *temp = (char*) malloc (100);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
30
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
31 char *file = (char*) malloc (size);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
32
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
33 file[0] = '\0';
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
34
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
35 while (fgets(temp, 100, fp) != NULL) strcat(file, temp);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
36
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
37 free(temp);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
38 fclose(fp);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
39
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
40 struct Data g;
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
41
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
42 g.code = file;
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
43 g.pointer = &g.vars[15000];
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
44
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
45 lexer(&g);
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
46 }
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
47 else {
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
48 printf("File not found!\n");
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
49 }
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
50 }
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
51
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
52 return 0;
38a5b4d8a98e <oerjan> rm -R share/delvs-master; mv delvs-master share
HackBot
parents:
diff changeset
53 }