Add version and options to check for it

This commit is contained in:
Chris Cromer 2018-09-13 17:09:08 -03:00
parent b9822af312
commit 9baa4b2881
Signed by: cromer
GPG Key ID: 39CC813FF3C8708A

View File

@ -3,10 +3,12 @@
#include <libintl.h>
#include <locale.h>
#include <stdbool.h>
#include <getopt.h>
#include "misc.h"
#define _(STRING) gettext(STRING)
#define TAX 1.111111111
#define VERSION "1.0.0"
GtkLabel *calculated_value = NULL;
@ -27,25 +29,34 @@ void calculate_tax(GtkWidget *entry) {
int main(int argc, char *argv[]) {
int opt;
float money;
int long_index = 0;
static struct option long_options[] = {
{"version", no_argument, 0, 'v'},
{0, 0, 0, 0}
};
setlocale(LC_ALL, "");
bindtextdomain("addtax", "/usr/share/locale/");
textdomain("addtax");
if (argc > 1) {
while ((opt = getopt(argc, argv, "")) != -1) {
// Process options
while ((opt = getopt_long(argc, argv,"v", long_options, &long_index)) != -1) {
switch (opt) {
case 'v':
printf("%s %s\n", argv[0], VERSION);
break;
default:
fprintf(stderr, _("Usage: %s [prices...]\n"), argv[0]);
return 1;
}
}
for (opt = 1; opt < argc; opt++) {
money = atof(argv[opt]);
if (is_float(argv[opt], money)) {
// Process arguments that are not options
while (optind < argc) {
money = atof(argv[optind]);
if (is_float(argv[optind++], money)) {
printf("$%d * %f = ", (int) round(money), TAX);
money = money * TAX;
printf("$%d\n", (int) round(money));