From 2c29d8cfa0e71ba108e4d0d2665c047a9b837161 Mon Sep 17 00:00:00 2001 From: Bryson Steck Date: Mon, 7 Mar 2022 18:34:17 -0700 Subject: added license flag --- Makefile | 12 +++++++++- config.mk | 8 +++++++ uirc.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++--------------- 3 files changed, 82 insertions(+), 20 deletions(-) create mode 100644 config.mk diff --git a/Makefile b/Makefile index 7eec852..4a5052e 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,16 @@ # makefile for uirc +# to configure install locations and compiler settings, see config.mk +include config.mk + SRC = uirc.c uirc: ${SRC} - gcc -o uirc -O ${SRC} + ${CC} -o uirc -O ${SRC} + +install: uirc + mkdir -p ${PREFIX}/bin + cp -f uirc ${PREFIX}/bin + chmod 755 ${PREFIX}/bin/uirc + +.PHONY: uirc install diff --git a/config.mk b/config.mk new file mode 100644 index 0000000..273a076 --- /dev/null +++ b/config.mk @@ -0,0 +1,8 @@ +# install location +PREFIX = /usr/local + +# manual install location +MANPREFIX = ${PREFIX}/share/man + +# compiler, default is gcc +CC = gcc diff --git a/uirc.c b/uirc.c index f0578f8..0cf5f58 100644 --- a/uirc.c +++ b/uirc.c @@ -7,14 +7,11 @@ const char *VERSION = "0.1.0"; int handleArg(arg) char *arg; { - int value; + int value, size; char flag, *longFlag, first, firstTwo[3]; - char *help, *license; + const char *help, *license; - help = "\nCopyright 2022 Bryson Steck\n" - "Licensed under the BSD 2-Clause. You can read the license by running 'uirc -l'\n\n" - - "usage: uirc [-hl] [-r] IMAGE1 [IMAGE2] [...]\n\n" + help = "usage: uirc [-hl] [-r] IMAGE1 [IMAGE2] [...]\n\n" "options:\n" "\t-h\t> Display this message\n" @@ -27,6 +24,49 @@ int handleArg(arg) char *arg; { "\t'man uirc'\n\n"; + license = "Two licenses are present in uirc.\n" + "The stb_image library that is included with uirc is available in the Public Domain:\n\n" + "This is free and unencumbered software released into the public domain.\n" + "Anyone is free to copy, modify, publish, use, compile, sell, or distribute this\n" + "software, either in source code form or as a compiled binary, for any purpose,\n" + "commercial or non-commercial, and by any means.\n" + "In jurisdictions that recognize copyright laws, the author or authors of this\n" + "software dedicate any and all copyright interest in the software to the public\n" + "domain. We make this dedication for the benefit of the public at large and to\n" + "the detriment of our heirs and successors. We intend this dedication to be an\n" + "overt act of relinquishment in perpetuity of all present and future rights to\n" + "this software under copyright law.\n" + "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n" + "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" + "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n" + "AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n" + "ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" + "WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n" + "The remaining files and binaries of uirc are available under the BSD 2-Clause:\n" + "Copyright (c) 2022, Bryson Steck\n" + "All rights reserved.\n\n" + + "Redistribution and use in source and binary forms, with or without\n" + "modification, are permitted provided that the following conditions are met:\n\n" + + "1. Redistributions of source code must retain the above copyright notice, this\n" + " list of conditions and the following disclaimer.\n\n" + + "2. Redistributions in binary form must reproduce the above copyright notice,\n" + " this list of conditions and the following disclaimer in the documentation\n" + " and/or other materials provided with the distribution.\n\n" + + "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n" + "AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" + "IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n" + "DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n" + "FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" + "DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n" + "SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n" + "CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n" + "OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" + "OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"; + flag = '-'; longFlag = "--"; first = arg[0]; @@ -34,6 +74,7 @@ int handleArg(arg) char *arg; { firstTwo[0] = arg[0]; firstTwo[1] = arg[1]; firstTwo[2] = '\0'; + size = sizeof arg; //if (strcmp(longFlag, firstTwo) == 0) { //printf("it has two dashes\n"); @@ -52,17 +93,22 @@ int handleArg(arg) char *arg; { //} if (flag == first) { - switch (firstTwo[1]) { - case 'h': - printf("an unneccessary image ratio calculator (uirc) v%s\n", VERSION); - printf("%s\n", help); - break; - case 'l': - printf("license\n"); - break; - default: - printf("uirc: invalid argument \"%s\"\n", arg); - return 1; + for (int i = 1; i < size; i++) { + switch (arg[i]) { + case 'h': + printf("an unneccessary image ratio calculator (uirc) v%s\n\n", VERSION); + printf("Copyright 2022 Bryson Steck\nLicensed under the BSD 2-Clause. You can read the license by running 'uirc -l'\n\n"); + printf("%s\n", help); + break; + case 'l': + printf("%s\n", license); + break; + case '\0': + break; + //default: + // printf("uirc: invalid argument \"%s\"\n", arg); + // return 1; + } } } @@ -86,8 +132,6 @@ int main(argc, argv) int argc; char *argv[]; { char *a = argv[1]; return handleArg(a); - - } -- cgit v1.2.3