diff options
Diffstat (limited to 'pdiscidurl.c')
| -rw-r--r-- | pdiscidurl.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/pdiscidurl.c b/pdiscidurl.c new file mode 100644 index 0000000..24425a0 --- /dev/null +++ b/pdiscidurl.c @@ -0,0 +1,65 @@ +/* -------------------------------------------------------------------------- + + MusicBrainz -- The Internet music metadatabase + + Copyright (C) 2026 Henry J. Webster + Copyright (C) 2013 Johannes Dewender, Laurent Monin + Copyright (C) 2006 Matthias Friedrich + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see + <https://www.gnu.org/licenses/>. + +--------------------------------------------------------------------------- */ +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#if (_MSC_VER < 1900) +#define snprintf _snprintf +#endif +#endif + +#include <discid/discid.h> +#include <stdio.h> + +#ifndef DISCID_HAVE_SPARSE_READ +#define discid_read_sparse(disc, dev, i) discid_read(disc, dev) +#endif + +int main(int argc, char *argv[]) { + char *device = NULL; + DiscId *disc; + + disc = discid_new(); + + /* If we have an argument, use it as the device name */ + if (argc > 1) { + device = argv[1]; + } else { + /* this will use discid_get_default_device() internally */ + device = NULL; + } + + if (discid_read_sparse(disc, device, 0) == 0) { + fprintf(stderr, "Error: %s\n", discid_get_error_msg(disc)); + discid_free(disc); + return 1; + } + + printf("%s\n", discid_get_submission_url(disc)); + + discid_free(disc); + + return 0; +} + +/* EOF */ |
