all: switch away from typedefing anonymous structs

laumann
Jun 26, 2023, 9:34 AM
JVU3TTT5T776LB2UNT5DCISJDWOITRSJPRG3CDTX4NDQEHC5VI3QC

Dependencies

  • [2] 6LCRAOHC atom: typedef the Atom struct
  • [3] RIHOSQNY hunk: define hunk types that operate on files
  • [4] MIGOMCLX ani: fix sign comparison, plus a typo
  • [5] QE5NVXPU scaffold: first iteration of die()
  • [6] U3JWO63Y change: deduplicate some code repetition
  • [7] QA7HY2TH hunk + hash: replace abort() calls with die()
  • [8] ZPNA2D42 ani: add functions to locate .pijul
  • [9] UPYQ5FMN make fmt
  • [10] FB67XX5E add argument parsing setup
  • [11] B3XLVPNC Add ani.c and initial Makefile
  • [12] QYRJIOYP change: separate decoding and printing of hashed struct
  • [13] XTVLIC24 change: refactor to print_change()
  • [14] HKBM7HZG minor: formatting
  • [15] Y26WT3ZF change: decode message, description and timestamp
  • [16] RIWSVVAS change: decompress the 'contents' with zstd_seekable
  • [17] 55SITR55 change: decode replacements
  • [18] DDLQMNGX change: find change files from repo dir
  • [19] 4RYULBDD bincode: introduce a bincode_state struct
  • [20] WFA5BBRF Fix warnings
  • [21] 3FT3XTJM change: support -v/-h flags
  • [22] LVX6U4EK change: decode metadata bytes
  • [23] OBKF6SII change: decompress the hashed section too
  • [24] VXGUQZIV bincode: rework so functions advance pointer
  • [25] JAGXXSR7 change: initial work on decoding hunks
  • [26] Q7TKZCJP Add initial support for reading the offsets from a (fixed) change
  • [27] FMYCPGKD change: extract hash list decoding into reused function
  • [28] NZNIG2UL Fix lots of warnings, adjust build flags
  • [29] AEMTSEJX change: simplify readout of offsets
  • [30] QLH63JBH change: replace calls to abort() with die()
  • [31] AHIXA5ZE Get rid of all warnings, rework init code. How do I do multiline messages?
  • [32] WMFNGOYT change: reduce printed noise, rework some code
  • [33] XTKRT6OQ format the codebase
  • [34] LCEKN25G change: parse authors
  • [35] YDQLW2ZO change: rework printing of patches - print Edit and Newvertex types
  • [36] WGGDK6VO change: use bincode decoder for decoding offsets
  • [37] ZKAOPMCH change: Implement decoding of edits, atoms, positions, among others
  • [38] QEFCNNVC change: display offsets for given change file
  • [39] 2U7P5SFQ Change struct names "struct foo -> typedef struct Foo"
  • [40] KDJUAAAL change: prefix function names with change_
  • [41] DKX3RO3L base32: Add encoding of hashes, print base32-encoded hashes
  • [42] KEC3WLFN change: remove debugging lines
  • [43] VXQYIOBX change: avoid crash on different format versions
  • [44] VKLGQREY change: add base32 decode, initial deconstruction of hashed
  • [45] DK7IMF5Q vertex: forgotten rename of change_position -> changepos
  • [46] N3PUHKQN change: fix scoping issue
  • [47] YG4DZB3A add representation of hash, decode dependencies

Change contents

  • replacement in vertex.h at line 20
    [10.396][10.0:17](),[10.17][10.29:43]()
    typedef struct {
    Hash change;
    [10.396]
    [10.43]
    struct position {
    struct hash change;
  • replacement in vertex.h at line 23
    [10.59][10.17:29](),[10.17][10.17:29]()
    } Position;
    [10.59]
    [10.60]
    };
  • replacement in vertex.h at line 25
    [10.61][10.61:78]()
    typedef struct {
    [10.61]
    [10.78]
    struct positionlist {
  • replacement in vertex.h at line 27
    [10.91][10.91:225]()
    Position first; /* Reserve space for the first Position, most changes appear to have just one */
    Position *entries;
    } Positionlist;
    [10.91]
    [10.416]
    struct position
    first; /* Reserve space for the first Position, most changes appear to have just one */
    struct position *entries;
    };
  • replacement in vertex.h at line 36
    [10.539][10.30:47](),[10.47][10.226:240]()
    typedef struct {
    Hash change;
    [10.539]
    [10.240]
    struct vertex {
    struct hash change;
  • replacement in vertex.h at line 39
    [10.285][10.48:58](),[10.621][10.48:58]()
    } Vertex;
    [10.285]
    [10.624]
    };
  • replacement in scaffold.h at line 11
    [5.61][5.61:131]()
    void die(const char *err, ...) __attribute__((format(printf, 1, 2)));
    [5.61]
    [10.165]
    _Noreturn void die(const char *err, ...) __attribute__((format(printf, 1, 2)));
  • replacement in hunk.h at line 4
    [10.704][10.81:98]()
    typedef struct {
    [10.704]
    [10.98]
    struct local {
  • replacement in hunk.h at line 7
    [10.63][10.109:118](),[10.67][10.109:118](),[10.372][10.109:118](),[10.109][10.109:118]()
    } Local;
    [10.63]
    [10.735]
    };
  • replacement in hunk.h at line 9
    [10.736][10.119:134]()
    typedef enum {
    [10.736]
    [10.757]
    enum basehunktype {
  • replacement in hunk.h at line 23
    [10.961][10.135:151]()
    } basehunktype;
    [10.961]
    [10.964]
    };
  • replacement in hunk.h at line 25
    [10.965][10.152:169](),[10.169][3.0:22]()
    typedef struct {
    Atom del;
    Atom add;
    [10.965]
    [10.169]
    struct filemove {
    struct atom del;
    struct atom add;
  • replacement in hunk.h at line 29
    [10.180][10.180:192]()
    } Filemove;
    [10.180]
    [3.23]
    };
  • replacement in hunk.h at line 31
    [3.24][3.24:93]()
    typedef struct {
    Atom del;
    Atom contents; /* FIXME Option<Atom> */
    [3.24]
    [3.93]
    struct filedel {
    struct atom del;
    struct atom contents; /* FIXME Option<struct atom> */
  • replacement in hunk.h at line 36
    [3.119][3.119:130]()
    } Filedel;
    [3.119]
    [10.1000]
    };
  • replacement in hunk.h at line 38
    [10.1001][10.193:210](),[10.210][3.131:185]()
    typedef struct {
    Atom undel;
    Atom contents; /* FIXME Option<Atom> */
    [10.1001]
    [3.185]
    struct fileundel {
    struct atom undel;
    struct atom contents; /* FIXME Option<struct atom> */
  • replacement in hunk.h at line 43
    [3.211][3.211:224]()
    } Fileundel;
    [3.211]
    [3.224]
    };
  • replacement in hunk.h at line 45
    [3.225][3.225:314]()
    typedef struct {
    Atom addname;
    Atom addinode;
    Atom contents; /* FIXME Option<Atom> */
    [3.225]
    [3.314]
    struct fileadd {
    struct atom addname;
    struct atom addinode;
    struct atom contents; /* FIXME Option<struct atom> */
  • replacement in hunk.h at line 51
    [3.340][3.340:351]()
    } Fileadd;
    [3.340]
    [3.351]
    };
  • replacement in hunk.h at line 53
    [3.352][3.352:369](),[3.369][10.373:401](),[10.210][10.373:401]()
    typedef struct {
    Atom change;
    Local local;
    [3.352]
    [10.401]
    struct edit {
    struct atom change;
    struct local local;
  • replacement in hunk.h at line 57
    [10.416][10.211:219](),[10.1031][10.211:219]()
    } Edit;
    [10.416]
    [10.1034]
    };
  • replacement in hunk.h at line 59
    [10.1035][10.220:237](),[10.237][10.0:33](),[10.33][10.238:252](),[10.1095][10.238:252]()
    typedef struct {
    Atom change;
    Atom replacement;
    Local local;
    [10.1035]
    [10.34]
    struct replacement {
    struct atom change;
    struct atom replacement;
    struct local local;
  • replacement in hunk.h at line 64
    [10.49][10.252:267](),[10.252][10.252:267]()
    } Replacement;
    [10.49]
    [10.1119]
    };
  • replacement in hunk.h at line 66
    [10.1120][10.268:309]()
    typedef struct {
    basehunktype hunktype;
    [10.1120]
    [10.1169]
    struct basehunk {
    enum basehunktype hunktype;
  • replacement in hunk.h at line 69
    [10.1178][10.310:331](),[10.331][3.370:431](),[3.431][10.331:371](),[10.331][10.331:371]()
    Filemove filemove;
    Filedel filedel;
    Fileundel fileundel;
    Fileadd fileadd;
    Edit edit;
    Replacement replacement;
    [10.1178]
    [10.417]
    struct filemove filemove;
    struct filedel filedel;
    struct fileundel fileundel;
    struct fileadd fileadd;
    struct edit edit;
    struct replacement replacement;
  • replacement in hunk.h at line 76
    [10.421][10.372:384](),[10.1272][10.372:384]()
    } Basehunk;
    [10.421]
    [10.1275]
    };
  • replacement in hunk.h at line 78
    [10.1276][10.422:439]()
    typedef struct {
    [10.1276]
    [10.439]
    struct hunklist {
  • replacement in hunk.h at line 80
    [10.452][10.452:484]()
    Basehunk *entries;
    } Hunklist;
    [10.452]
    [10.484]
    struct basehunk *entries;
    };
  • replacement in hunk.h at line 83
    [10.485][10.385:435](),[10.1276][10.385:435](),[10.435][10.486:530]()
    const char *hunk_basehunk_type_str(basehunktype);
    void hunk_hunklistinit(Hunklist *, size_t);
    [10.485]
    [10.1332]
    const char *hunk_basehunk_type_str(enum basehunktype);
    void hunk_hunklistinit(struct hunklist *, size_t);
  • replacement in hunk.c at line 12
    [10.1445][10.458:505]()
    hunk_basehunk_type_str(basehunktype hunk_type)
    [10.1445]
    [10.1498]
    hunk_basehunk_type_str(enum basehunktype hunk_type)
  • replacement in hunk.c at line 47
    [10.618][10.618:668]()
    hunk_hunklistinit(Hunklist *hunklist, size_t len)
    [10.618]
    [10.668]
    hunk_hunklistinit(struct hunklist *hunklist, size_t len)
  • replacement in hunk.c at line 50
    [10.692][10.692:746]()
    hunklist->entries = xmalloc(sizeof(Basehunk) * len);
    [10.692]
    [7.44]
    hunklist->entries = xmalloc(sizeof(struct basehunk) * len);
  • replacement in hash.h at line 9
    [10.131][10.506:523]()
    typedef struct {
    [10.131]
    [10.145]
    struct hash {
  • replacement in hash.h at line 13
    [10.225][10.524:532]()
    } Hash;
    [10.225]
    [10.228]
    };
  • replacement in hash.h at line 15
    [10.229][10.533:550]()
    typedef struct {
    [10.229]
    [10.248]
    struct hashlist {
  • replacement in hash.h at line 17
    [10.261][10.551:579]()
    Hash *entries;
    } Hashlist;
    [10.261]
    [10.287]
    struct hash *entries;
    };
  • replacement in hash.h at line 20
    [10.288][10.747:773](),[10.773][10.580:604](),[10.288][10.580:604]()
    void hashprintln(Hash *);
    void hashprint(Hash *);
    [10.288]
    [10.40]
    void hashprintln(struct hash *);
    void hashprint(struct hash *);
  • replacement in hash.h at line 23
    [10.41][10.41:74]()
    void hashlist_free(Hashlist *h);
    [10.41]
    [10.320]
    void hashlist_free(struct hashlist *h);
  • replacement in hash.c at line 12
    [10.445][10.774:798]()
    hashprintln(Hash *hash)
    [10.445]
    [10.798]
    hashprintln(struct hash *hash)
  • replacement in hash.c at line 19
    [10.841][10.626:648](),[10.445][10.626:648]()
    hashprint(Hash *hash)
    [10.841]
    [10.475]
    hashprint(struct hash *hash)
  • replacement in hash.c at line 38
    [10.83][10.83:110]()
    hashlist_free(Hashlist *h)
    [10.83]
    [10.110]
    hashlist_free(struct hashlist *h)
  • replacement in change.h at line 16
    [10.307][10.1748:1765]()
    typedef struct {
    [10.307]
    [10.324]
    struct offsets {
  • replacement in change.h at line 24
    [10.409][10.1766:1777]()
    } Offsets;
    [10.409]
    [10.637]
    };
  • replacement in change.h at line 36
    [10.810][10.1778:1795]()
    typedef struct {
    [10.810]
    [10.1795]
    struct authorentry {
  • replacement in change.h at line 39
    [10.1817][10.1817:1832]()
    } Authorentry;
    [10.1817]
    [10.108]
    };
  • replacement in change.h at line 42
    [10.169][10.1833:1850]()
    typedef struct {
    [10.169]
    [10.185]
    struct author {
  • replacement in change.h at line 44
    [10.198][10.1851:1884]()
    Authorentry *entries;
    } Author;
    [10.198]
    [10.232]
    struct authorentry *entries;
    };
  • replacement in change.h at line 50
    [10.1939][10.1939:1956]()
    typedef struct {
    [10.1939]
    [10.1956]
    struct authors {
  • replacement in change.h at line 52
    [10.1969][10.1969:1994]()
    Author *map;
    } Authors;
    [10.1969]
    [10.284]
    struct author *map;
    };
  • replacement in change.h at line 55
    [10.285][10.1995:2233]()
    typedef struct {
    str message; /* the "commit" message */
    str description; /* the other undescribed part of a change */
    str timestamp; /* yes, as a string */
    Authors authors; /* a list of "key"="value" collections */
    } Changeheader;
    [10.285]
    [10.212]
    struct changeheader {
    str message; /* the "commit" message */
    str description; /* the other undescribed part of a change */
    str timestamp; /* yes, as a string */
    struct authors authors; /* a list of "key"="value" collections */
    };
  • replacement in change.h at line 69
    [10.458][10.2234:2251](),[10.2251][10.145:214](),[10.214][10.2252:2374](),[10.542][10.2252:2374]()
    typedef struct {
    uint64_t version; /* same as in offsets? here to be hashed! */
    Changeheader header;
    Hashlist dependencies; /* array of hashes */
    Hashlist extraknown; /* another array of hashes */
    [10.458]
    [10.868]
    struct hashed {
    uint64_t version; /* same as in offsets? here to be hashed! */
    struct changeheader header;
    struct hashlist dependencies; /* array of hashes */
    struct hashlist extraknown; /* another array of hashes */
  • replacement in change.h at line 75
    [10.888][10.888:905](),[10.905][10.2374:2384](),[10.2374][10.2374:2384]()
    Hunklist hunks;
    } Hashed;
    [10.888]
    [10.664]
    struct hunklist hunks;
    };
  • replacement in change.h at line 84
    [10.959][10.2385:2424]()
    int decode_offsets(int fd, Offsets *);
    [10.959]
    [10.1005]
    int decode_offsets(int fd, struct offsets *);
  • replacement in change.c at line 39
    [10.1493][10.2446:2490]()
    change_decode_offsets(int fd, Offsets *off)
    [10.1493]
    [10.1537]
    change_decode_offsets(int fd, struct offsets *off)
  • replacement in change.c at line 43
    [10.1587][10.2491:2509]()
    Bincode binstat;
    [10.1587]
    [10.1603]
    struct bincode binstat;
  • replacement in change.c at line 118
    [6.15][6.15:81]()
    change_readhash(Bincode *binstat, uint8_t *dest, uint8_t variant)
    [6.15]
    [6.81]
    change_readhash(struct bincode *binstat, uint8_t *dest, uint8_t variant)
  • replacement in change.c at line 133
    [10.988][10.2510:2569](),[10.6][10.2510:2569]()
    change_decode_hashlist(Bincode *binstat, Hashlist *target)
    [10.988]
    [10.86]
    change_decode_hashlist(struct bincode *binstat, struct hashlist *target)
  • replacement in change.c at line 140
    [10.162][10.2570:2618]()
    target->entries = xmalloc(sizeof(Hash) * len);
    [10.162]
    [10.1067]
    target->entries = xmalloc(sizeof(struct hash) * len);
  • replacement in change.c at line 152
    [10.1081][10.1081:1137]()
    change_decode_position(Bincode *binstat, Position *pos)
    [10.1081]
    [10.2311]
    change_decode_position(struct bincode *binstat, struct position *pos)
  • replacement in change.c at line 165
    [10.1430][10.1430:1480]()
    change_decode_vertex(Bincode *binstat, Vertex *v)
    [10.1430]
    [10.1480]
    change_decode_vertex(struct bincode *binstat, struct vertex *v)
  • replacement in change.c at line 167
    [10.1482][10.1482:1495]()
    Hash *hash;
    [10.1482]
    [10.1495]
    struct hash *hash;
  • replacement in change.c at line 181
    [10.1955][10.1955:2012]()
    change_decode_introducedby(Bincode *binstat, Hash *hash)
    [10.1955]
    [10.2850]
    change_decode_introducedby(struct bincode *binstat, struct hash *hash)
  • replacement in change.c at line 193
    [10.2477][10.2477:2529]()
    change_decode_newedge(Bincode *binstat, Edge *edge)
    [10.2477]
    [10.2529]
    change_decode_newedge(struct bincode *binstat, struct edge *edge)
  • replacement in change.c at line 204
    [10.2846][10.2846:2914]()
    change_decode_positionlist(Bincode *binstat, Positionlist *poslist)
    [10.2846]
    [10.2914]
    change_decode_positionlist(struct bincode *binstat, struct positionlist *poslist)
  • replacement in change.c at line 211
    [10.2999][10.2999:3059]()
    poslist->entries = xmalloc(sizeof(Position) * (len - 1));
    [10.2999]
    [10.3059]
    poslist->entries = xmalloc(sizeof(struct position) * (len - 1));
  • replacement in change.c at line 220
    [10.3233][10.3233:3297]()
    change_decode_newvertex(Bincode *binstat, Newvertex *newvertex)
    [10.3233]
    [10.3319]
    change_decode_newvertex(struct bincode *binstat, struct newvertex *newvertex)
  • replacement in change.c at line 235
    [10.3776][10.0:58]()
    change_decode_edgemap(Bincode *binstat, Edgemap *edgemap)
    [10.3776]
    [10.3825]
    change_decode_edgemap(struct bincode *binstat, struct edgemap *edgemap)
  • replacement in change.c at line 240
    [10.125][10.125:180]()
    edgemap->edges.entries = xmalloc(sizeof(Edge) * len);
    [10.125]
    [10.180]
    edgemap->edges.entries = xmalloc(sizeof(struct edge) * len);
  • replacement in change.c at line 249
    [10.353][10.353:402]()
    change_decode_atom(Bincode *binstat, Atom *atom)
    [10.353]
    [10.402]
    change_decode_atom(struct bincode *binstat, struct atom *atom)
  • replacement in change.c at line 270
    [10.4370][10.4370:4422]()
    change_decode_local(Bincode *binstat, Local *local)
    [10.4370]
    [10.4422]
    change_decode_local(struct bincode *binstat, struct local *local)
  • replacement in change.c at line 280
    [10.4572][10.4572:4630]()
    change_decode_encoding(Bincode *binstat, char **encoding)
    [10.4572]
    [10.4630]
    change_decode_encoding(struct bincode *binstat, char **encoding)
  • replacement in change.c at line 293
    [10.4830][10.4830:4884]()
    change_decode_hunks(Bincode *binstat, Hashed *hashed)
    [10.4830]
    [10.3853]
    change_decode_hunks(struct bincode *binstat, struct hashed *hashed)
  • replacement in change.c at line 295
    [10.3855][10.3855:3870]()
    uint64_t len;
    [10.3855]
    [10.478]
    uint64_t len, slen;
  • replacement in change.c at line 302
    [10.3940][10.4928:4975]()
    Basehunk *bhunk = &hashed->hunks.entries[i];
    [10.3940]
    [10.4975]
    struct basehunk *bhunk = &hashed->hunks.entries[i];
  • replacement in change.c at line 307
    [10.4099][10.5127:5189]()
    /* An edit is a (1) Atom (2) Local (3) Option<Encoding> */
    [10.4099]
    [10.5189]
    /* An edit is a (1) struct atom (2) Local (3) Option<Encoding> */
  • replacement in change.c at line 348
    [10.1059][10.3013:3053]()
    uint8_t *expected_hash, Hashed *hashed
    [10.1059]
    [10.1083]
    uint8_t *expected_hash, struct hashed *hashed
  • replacement in change.c at line 356
    [10.648][10.3054:3072]()
    Bincode binstat;
    [10.648]
    [10.2591]
    struct bincode binstat;
  • replacement in change.c at line 408
    [10.358][10.3073:3134]()
    hashed->header.authors.map = xmalloc(sizeof(Author) * len);
    [10.358]
    [10.513]
    hashed->header.authors.map = xmalloc(sizeof(struct author) * len);
  • replacement in change.c at line 414
    [10.522][10.3135:3169]()
    xmalloc(sizeof(Author) * len);
    [10.522]
    [10.523]
    xmalloc(sizeof(struct author) * len);
  • replacement in change.c at line 461
    [10.1722][10.3227:3270]()
    change_read_contents(int fd, Offsets *off)
    [10.1722]
    [10.1772]
    change_read_contents(int fd, struct offsets *off)
  • replacement in change.c at line 469
    [10.8][10.8:48]()
    print_positionlist(Positionlist *plist)
    [10.8]
    [10.48]
    print_positionlist(struct positionlist *plist)
  • replacement in change.c at line 471
    [10.50][10.50:64]()
    Position *p;
    [10.50]
    [10.503]
    struct position *p;
  • replacement in change.c at line 498
    [10.348][10.348:387]()
    print_atom(Atom *a, uint8_t *contents)
    [10.348]
    [10.387]
    print_atom(struct atom *a, uint8_t *contents)
  • replacement in change.c at line 500
    [10.389][10.389:417]()
    Newvertex *v;
    Edgemap *m;
    [10.389]
    [10.130]
    struct newvertex *v;
    struct edgemap *m;
  • replacement in change.c at line 553
    [10.258][10.258:306]()
    print_change(Hashed *hashed, uint8_t *contents)
    [10.258]
    [10.306]
    print_change(struct hashed *hashed, uint8_t *contents)
  • replacement in change.c at line 587
    [10.1249][10.1249:1295]()
    Basehunk *hunk = &hashed->hunks.entries[i];
    [10.1249]
    [10.215]
    struct basehunk *hunk = &hashed->hunks.entries[i];
  • replacement in change.c at line 593
    [10.15][10.1404:1455](),[10.1404][10.1404:1455]()
    Edit *e = &hunk->edit;
    Atom *c = &e->change;
    [10.15]
    [10.143]
    struct edit *e = &hunk->edit;
    struct atom *c = &e->change;
  • replacement in change.c at line 602
    [10.42][10.1612:1652](),[10.1612][10.1612:1652](),[10.1652][10.43:101]()
    Replacement *r = &hunk->replacement;
    Atom *c = &r->change;
    Atom *ratm = &r->replacement;
    [10.42]
    [10.203]
    struct replacement *r = &hunk->replacement;
    struct atom *c =
    &r->change; /* Expected to be an edgemap */
    struct atom *replacement =
    &r->replacement; /* Expected to be a newvertex */
  • replacement in change.c at line 644
    [10.121][10.3271:3285]()
    Offsets off;
    [10.2233]
    [10.2600]
    struct offsets off;
  • replacement in change.c at line 649
    [9.32][10.3286:3302](),[10.147][10.3286:3302](),[10.2126][10.3286:3302]()
    Hashed hashed;
    [9.32]
    [10.2254]
    struct hashed hashed;
  • replacement in bincode.h at line 20
    [10.1998][10.3564:3581]()
    typedef struct {
    [10.1998]
    [10.2365]
    struct bincode {
  • replacement in bincode.h at line 23
    [10.867][10.3582:3593]()
    } Bincode;
    [10.867]
    [10.1998]
    };
  • replacement in bincode.h at line 31
    [10.2156][10.3594:3736]()
    uint8_t bincode_getu8(Bincode *);
    uint16_t bincode_getu16(Bincode *);
    uint32_t bincode_getu32(Bincode *);
    uint64_t bincode_getu64(Bincode *);
    [10.2156]
    [10.2264]
    uint8_t bincode_getu8(struct bincode *);
    uint16_t bincode_getu16(struct bincode *);
    uint32_t bincode_getu32(struct bincode *);
    uint64_t bincode_getu64(struct bincode *);
  • replacement in bincode.h at line 44
    [10.2502][10.3737:3831]()
    char *bincode_getstr(Bincode *, size_t);
    void bincode_getbytes(Bincode *, uint8_t *, size_t);
    [10.2502]
    [10.2543]
    char *bincode_getstr(struct bincode *, size_t);
    void bincode_getbytes(struct bincode *, uint8_t *, size_t);
  • replacement in bincode.c at line 11
    [10.1130][10.3854:3880]()
    bincode_getu8(Bincode *s)
    [10.1130]
    [10.1169]
    bincode_getu8(struct bincode *s)
  • replacement in bincode.c at line 23
    [10.2866][10.3881:3908]()
    bincode_getu16(Bincode *s)
    [10.2866]
    [10.2893]
    bincode_getu16(struct bincode *s)
  • replacement in bincode.c at line 37
    [10.2953][10.3909:3936]()
    bincode_getu32(Bincode *s)
    [10.2953]
    [10.2980]
    bincode_getu32(struct bincode *s)
  • replacement in bincode.c at line 52
    [10.3092][10.3937:3964]()
    bincode_getu64(Bincode *s)
    [10.3092]
    [10.3119]
    bincode_getu64(struct bincode *s)
  • replacement in bincode.c at line 69
    [10.3329][10.3965:4004]()
    bincode_getstr(Bincode *s, size_t len)
    [10.3329]
    [10.3368]
    bincode_getstr(struct bincode *s, size_t len)
  • replacement in bincode.c at line 85
    [10.4891][10.4005:4061]()
    bincode_getbytes(Bincode *s, uint8_t *dest, size_t len)
    [10.4891]
    [10.430]
    bincode_getbytes(struct bincode *s, uint8_t *dest, size_t len)
  • replacement in atom.h at line 10
    [10.5201][10.4294:4309]()
    typedef enum {
    [10.5201]
    [10.5218]
    enum atomtype {
  • replacement in atom.h at line 13
    [10.5241][10.4310:4322]()
    } atomtype;
    [10.5241]
    [10.5244]
    };
  • replacement in atom.h at line 15
    [10.5245][10.4323:4340]()
    typedef struct {
    [10.5245]
    [10.5771]
    struct edge {
  • replacement in atom.h at line 18
    [10.5805][10.5805:5890]()
    Position from;
    Vertex to;
    Hash introducedby; /* FIXME Should be Option */
    } Edge;
    [10.5805]
    [10.5890]
    struct position from;
    struct vertex to;
    struct hash introducedby; /* FIXME Should be Option */
    };
  • replacement in atom.h at line 23
    [10.5891][10.5891:5908]()
    typedef struct {
    [10.5891]
    [10.5908]
    struct edgelist {
  • replacement in atom.h at line 25
    [10.5921][10.5921:5949]()
    Edge *entries;
    } Edgelist;
    [10.5921]
    [10.5949]
    struct edge *entries;
    };
  • replacement in atom.h at line 28
    [10.5950][10.5950:6019]()
    typedef struct {
    Positionlist upcontext;
    Positionlist downcontext;
    [10.5950]
    [10.5342]
    struct newvertex {
    struct positionlist upcontext;
    struct positionlist downcontext;
  • replacement in atom.h at line 34
    [10.5446][10.6020:6037](),[10.6037][10.4402:4415](),[10.5530][10.4402:4415]()
    Position inode;
    } Newvertex;
    [10.5446]
    [10.4415]
    struct position inode;
    };
  • replacement in atom.h at line 37
    [10.4416][10.4416:4433](),[10.4433][10.6038:6072](),[10.6072][10.4433:4444](),[10.4433][10.4433:4444]()
    typedef struct {
    Edgelist edges;
    Position inode;
    } Edgemap;
    [10.4416]
    [10.5533]
    struct edgemap {
    struct edgelist edges;
    struct position inode;
    };
  • replacement in atom.h at line 42
    [10.5534][2.0:17](),[2.17][10.4445:4465](),[10.5548][10.4445:4465]()
    typedef struct {
    atomtype atomtype;
    [10.5534]
    [10.5575]
    struct atom {
    enum atomtype atomtype;
  • replacement in atom.h at line 45
    [10.5584][10.4466:4508]()
    Newvertex newvertex;
    Edgemap edgemap;
    [10.5584]
    [2.18]
    struct newvertex newvertex;
    struct edgemap edgemap;
  • replacement in atom.h at line 48
    [2.22][2.22:30]()
    } Atom;
    [2.22]
    [10.5628]
    };
  • replacement in ani.c at line 21
    [10.3226][10.4531:4548]()
    typedef struct {
    [10.3226]
    [10.1186]
    struct cmd {
  • replacement in ani.c at line 25
    [8.1851][10.4549:4556](),[10.1237][10.4549:4556]()
    } Cmd;
    [8.1851]
    [10.1240]
    };
  • replacement in ani.c at line 27
    [10.1241][10.4557:4583]()
    static Cmd commands[] = {
    [10.1241]
    [8.1852]
    static struct cmd commands[] = {
  • replacement in ani.c at line 42
    [10.1354][10.4584:4597]()
    static Cmd *
    [10.1354]
    [10.1374]
    static struct cmd *
  • replacement in ani.c at line 46
    [4.86][10.4598:4607](),[10.1408][10.4598:4607]()
    Cmd *p;
    [4.86]
    [10.1424]
    struct cmd *p;
  • replacement in ani.c at line 60
    [8.1947][10.4608:4623](),[10.350][10.4608:4623]()
    Cmd *command;
    [8.1947]
    [10.1628]
    struct cmd *command;