/* * Copyright (c) 2025 Lucas Gabriel Vuotto * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include #include #include #include "bcode.h" int main(int argc, char *argv[]) { struct bcode *bcode; uint8_t buf[256 * 1024]; FILE *fp; size_t n; fp = fopen("/tmp/af24ae3037cfc1ad8226b159103a148fbc81b173.torrent", "r"); if (fp == NULL) err(1, "fopen"); n = fread(buf, 1, sizeof(buf), fp); if (ferror(fp)) err(1, "fread"); if (!feof(fp)) errx(1, "short read"); bcode = bcode_parse(buf, n); if (bcode == NULL) errx(1, "bcode_parse: parse error"); bcode_dump(bcode, stdout); bcode_free(bcode); (void)fclose(fp); return 0; }