Thu, 23 Aug 2018 19:45:36 +0200
adds simple tiny test suite and updates license headers
/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * Copyright 2018 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "arguments.h" int checkArgument(const char* arg, const char* expected) { int len = strlen(expected); int ret = 0; if (arg[0] == '-') { if (arg[1] != '-') { for (int t = 0 ; t < len ; t++) { ret |= (strchr(arg, expected[t])?1:0) << t; } } } return ret; } bool registerArgument(int* reg, int mask) { bool ret = (*reg & mask) > 0; *reg |= mask; return ret; } bool checkParamOpt(int* paropt) { bool ret = *paropt == 0; *paropt = 1; return ret; } void parseCSL(char* csl, string_list_t* list) { if (csl != NULL) { char* finder = strtok(csl, ","); while (finder != NULL) { add_string(list, finder); finder = strtok(NULL, ","); } } }