opnsense-src/contrib/libder/derdump/derdump.c
Kyle Evans ba667efb53 Add 'contrib/libder/' from commit '9c40c4de4c33b2ba1124fb752ebea0bebaa6013f'
git-subtree-dir: contrib/libder
git-subtree-mainline: d11904b350214943dedb64c7121d4602799d7afd
git-subtree-split: 9c40c4de4c33b2ba1124fb752ebea0bebaa6013f
(cherry picked from commit 35c0a8c449fd2b7f75029ebed5e10852240f0865)
2025-01-10 20:48:21 -06:00

52 lines
868 B
C

/*-
* Copyright (c) 2024 Kyle Evans <kevans@FreeBSD.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <err.h>
#include <stdio.h>
#include <libder.h>
int
main(int argc, char *argv[])
{
FILE *fp;
struct libder_ctx *ctx;
struct libder_object *root;
size_t rootsz;
bool first = true;
if (argc < 2) {
fprintf(stderr, "usage: %s file [file...]\n", argv[0]);
return (1);
}
ctx = libder_open();
libder_set_verbose(ctx, 2);
for (int i = 1; i < argc; i++) {
fp = fopen(argv[i], "rb");
if (fp == NULL) {
warn("%s", argv[i]);
continue;
}
if (!first)
fprintf(stderr, "\n");
fprintf(stdout, "[%s]\n", argv[i]);
root = libder_read_file(ctx, fp, &rootsz);
if (root != NULL) {
libder_obj_dump(root, stdout);
libder_obj_free(root);
root = NULL;
}
first = false;
fclose(fp);
}
libder_close(ctx);
return (0);
}