Advent of Code

Check-in [dd0c03da2e]
Login

Check-in [dd0c03da2e]

Overview
Comment:moved big switch out of main
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: dd0c03da2e8fab7f7faca7dc9a9d9374219d18ba5aace024d05e29ed91b50644
User & Date: nnz on 2024-12-02 20:53:47
Other Links: manifest | tags
Context
2024-12-02
20:57
changed header guard check-in: cd1251ba62 user: nnz tags: trunk
20:53
moved big switch out of main check-in: dd0c03da2e user: nnz tags: trunk
20:04
202401 and 202402, 4 stars check-in: 8e5f2a70ef user: nnz tags: trunk
Changes

Modified aoc.c from [afd38c9390] to [3e499c316d].

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

77
78
        exit(EXIT_FAILURE);
    }
    // read data from dataname into input
    char *input = NULL;
    size_t ilen = slurp(&input, dataname);

    // call the right function
    void (*p)(char *, size_t) = NULL;
    switch (y * 100 + d) {
        default: fprintf(stderr, "no function for year %d and day %d\n", y, d);
                 exit(EXIT_FAILURE);
        #if 0
        case 201501: p = aoc201501; break;
        case 201502: p = aoc201502; break;
        case 201503: p = aoc201503; break;
        case 201504: p = aoc201504; break;
        case 201505: p = aoc201505; break;
        case 201506: p = aoc201506; break;
        case 201507: p = aoc201507; break;
        case 201508: p = aoc201508; break;
        case 201509: p = aoc201509; break;
        case 201510: p = aoc201510; break;
        case 201511: p = aoc201511; break;
        case 201512: p = aoc201512; break;
        case 201513: p = aoc201513; break;
        case 201514: p = aoc201514; break;
        case 201515: p = aoc201515; break;
        case 201516: p = aoc201516; break;
        case 201517: p = aoc201517; break;
        case 201518: p = aoc201518; break;
        case 201519: p = aoc201519; break;
        case 201520: p = aoc201520; break;
        case 201521: p = aoc201521; break;
        case 201522: p = aoc201522; break;
        case 201523: p = aoc201523; break;
        case 201524: p = aoc201524; break;
        case 201525: p = aoc201525; break;
        #endif

        case 202401: p = aoc202401; break;
        case 202402: p = aoc202402; break;
    }
    p(input, ilen);

    free(input);
}







|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
>


34
35
36
37
38
39
40
41


































42
43
44
45
        exit(EXIT_FAILURE);
    }
    // read data from dataname into input
    char *input = NULL;
    size_t ilen = slurp(&input, dataname);

    // call the right function
    void (*p)(char *, size_t) = select(y, d);


































    if (p) p(input, ilen);
    else fprintf(stderr, "Impossible!\n");
    free(input);
}

Added aocdailies.c version [9faf574fa1].



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stddef.h>
#include "aocdailies.h"

aocfunc *select(int y, int d) {
    void (*p)(char *, size_t);
    switch (y * 100 + d) {
        default: return NULL;

        #if 0
        case 201501: p = aoc201501; break;
        case 201502: p = aoc201502; break;
        case 201503: p = aoc201503; break;
        case 201504: p = aoc201504; break;
        case 201505: p = aoc201505; break;
        case 201506: p = aoc201506; break;
        case 201507: p = aoc201507; break;
        case 201508: p = aoc201508; break;
        case 201509: p = aoc201509; break;
        case 201510: p = aoc201510; break;
        case 201511: p = aoc201511; break;
        case 201512: p = aoc201512; break;
        case 201513: p = aoc201513; break;
        case 201514: p = aoc201514; break;
        case 201515: p = aoc201515; break;
        case 201516: p = aoc201516; break;
        case 201517: p = aoc201517; break;
        case 201518: p = aoc201518; break;
        case 201519: p = aoc201519; break;
        case 201520: p = aoc201520; break;
        case 201521: p = aoc201521; break;
        case 201522: p = aoc201522; break;
        case 201523: p = aoc201523; break;
        case 201524: p = aoc201524; break;
        case 201525: p = aoc201525; break;
        #endif

        case 202401: p = aoc202401; break;
        case 202402: p = aoc202402; break;
    }
    return p;
}

Modified aocdailies.h from [981e8d069f] to [5d1244df06].

1
2
3





4
5
6
7
8
9
10
#ifndef AOCDAILY_H_INCLUDED
#define AOCDAILY_H_INCLUDED






#if 0
void aoc201501(char *, size_t);
void aoc201502(char *, size_t);
void aoc201503(char *, size_t);
void aoc201504(char *, size_t);
void aoc201505(char *, size_t);
void aoc201506(char *, size_t);



>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef AOCDAILY_H_INCLUDED
#define AOCDAILY_H_INCLUDED

#include <stddef.h>

typedef void aocfunc(char *, size_t);
aocfunc *select(int, int);

#if 0
void aoc201501(char *, size_t);
void aoc201502(char *, size_t);
void aoc201503(char *, size_t);
void aoc201504(char *, size_t);
void aoc201505(char *, size_t);
void aoc201506(char *, size_t);