diff options
author | rodri <rgl@antares-labs.eu> | 2021-07-14 19:08:21 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2021-07-14 19:08:21 +0000 |
commit | c59a4f460b30f2ff5a2dd47672d72f47c02d8b75 (patch) | |
tree | 42971609da3ec95b7bbb38d71f114413a69aa793 /test.c | |
download | libroman-c59a4f460b30f2ff5a2dd47672d72f47c02d8b75.tar.gz libroman-c59a4f460b30f2ff5a2dd47672d72f47c02d8b75.tar.bz2 libroman-c59a4f460b30f2ff5a2dd47672d72f47c02d8b75.zip |
initial release.
Diffstat (limited to 'test.c')
-rw-r--r-- | test.c | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +#include <u.h> +#include <libc.h> +#include "roman.h" + +void +usage(void) +{ + fprint(2, "usage: %s [ -dr ] number\n", argv0); + exits("usage"); +} + +void +main(int argc, char *argv[]) +{ + int decimal; + char *roman, buf[512]; + + decimal = -1; + roman = nil; + + ARGBEGIN{ + case 'd': + roman = EARGF(usage()); + break; + case 'r': + decimal = strtol(EARGF(usage()), nil, 10); + break; + }ARGEND; + if(argc != 0) + usage(); + + if(decimal >= 0){ + if(dectoroman(decimal, buf, sizeof buf) < 0) + sysfatal("dectoroman: %r"); + print("%s\n", buf); + }else if(roman != nil){ + if((decimal = romantodec(roman)) < 0) + sysfatal("romantodec: %r"); + print("%d\n", decimal); + }else + usage(); + + exits(nil); +} |