/* cfetch is my try to implement a neofetch/fastfetch/commiefetch clone in C. * Copyright (C) 2026 Anser * * cfetch is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * * cfetch 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #include "../include/cfetch.h" #define COMMAND(large, small) \ (!strcmp(argv[i], large) || !strcmp(argv[i], small)) void parse_cmd(int argc, char **argv) { for (int i = 1; i < argc; i++) { if (argv[i][0] != '-') { fprintf(stderr, "Error: invalid option: \"%s\". An option must start with `-`\n", argv[i]); print_help(); exit(1); } if (COMMAND("--help", "-h")) { print_help(); exit(1); } if (COMMAND("--version", "-v")) { printf("cfetch version: 0.1.1\n"); exit(0); } else { fprintf(stderr, "Error: invalid option: \"%s\"\n", argv[i]); print_help(); exit(1); } } return; } void parse_args(int argc, char **argv) { if (argc == 1) { return; } parse_cmd(argc, argv); return; } void print_help() { printf("\ncfetch, the neofetch/commifetch clone!\n"); printf("\nusage: cfetch\t [-v | --version] [-h | --help]\n"); printf(" -v --version\t prints the current version of cfetch.\n"); printf(" -h --help\t prints the helper menu of cfetch.\n"); }