summaryrefslogtreecommitdiff
path: root/pkgrel.c
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2024-01-06 02:42:16 +0100
committerAki <please@ignore.pl>2024-01-06 02:44:00 +0100
commit080d76ce2cbe6883941b01fb46b5dbee3b0d72c9 (patch)
tree38307579a10814abc4b8a87f489397f3c3631d55 /pkgrel.c
parent0a31e19167dc89a0d651a5aeab4ccbabde5d7369 (diff)
downloadpkgrel-080d76ce2cbe6883941b01fb46b5dbee3b0d72c9.zip
pkgrel-080d76ce2cbe6883941b01fb46b5dbee3b0d72c9.tar.gz
pkgrel-080d76ce2cbe6883941b01fb46b5dbee3b0d72c9.tar.bz2
Added prefix and -d option
Diffstat (limited to 'pkgrel.c')
-rw-r--r--pkgrel.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/pkgrel.c b/pkgrel.c
index ecbfcea..961ecbd 100644
--- a/pkgrel.c
+++ b/pkgrel.c
@@ -112,11 +112,35 @@ match_line(const git_diff_delta* delta, const git_diff_hunk* hunk, const git_dif
}
+/// Parses an optional output prefix from *args* and returns it.
+const char*
+parse_args(const int argc, char* argv[])
+{
+ int opt;
+ const char* prefix = NULL;
+ while (-1 != (opt = getopt(argc, argv, ":d"))) {
+ switch (opt) {
+ case 'd':
+ prefix = "pkgrel=";
+ break;
+ default:
+ break; // Accept anything but -d without prior --
+ }
+ }
+ if (NULL == prefix) {
+ if (argc > optind)
+ prefix = argv[optind];
+ else
+ prefix = "";
+ }
+ return prefix;
+}
+
+
int
main(int argc, char* argv[])
{
- (void) argc;
- (void) argv;
+ const char* prefix = parse_args(argc, argv);
FILE* file = fopen("PKGBUILD", "r");
if (NULL == file) {
dprintf(2, "PKGBUILD not found or cannot be opened\n");
@@ -176,5 +200,5 @@ main(int argc, char* argv[])
exit(1);
}
else
- printf("%d\n", relpkg);
+ printf("%s%d\n", prefix, relpkg);
}