summaryrefslogtreecommitdiffstats
path: root/pki/base/native-tools/src/setpin/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/native-tools/src/setpin/options.c')
-rw-r--r--pki/base/native-tools/src/setpin/options.c184
1 files changed, 0 insertions, 184 deletions
diff --git a/pki/base/native-tools/src/setpin/options.c b/pki/base/native-tools/src/setpin/options.c
deleted file mode 100644
index 9e2dab129..000000000
--- a/pki/base/native-tools/src/setpin/options.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/* --- BEGIN COPYRIGHT BLOCK ---
- * This program 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; version 2 of the License.
- *
- * This program 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, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2007 Red Hat, Inc.
- * All rights reserved.
- * --- END COPYRIGHT BLOCK ---
- */
-
-
-
-#include "options.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-/*
- * (C) 1998 Netscape Communications Corporation
- * All rights reserved
- * Intellectual property rulez!
- *
- */
-
-
-
-/* this file maintains a static linked list of the
- options it knows about
-*/
-
-static OPTION *option_list = NULL;
-static OPTION *last_option = NULL;
-
-static char* OPT_parseArgument(char *arg,char**valid);
-
-
-/* OPT_getValue(char *option, char** output)
-
- returns 1 if the specified option exists,
- - value is put into 'output'
- returns 0 if the specified option doesn't exist
- - output is unchanged
-
-*/
-
-
-int OPT_getValue(char *option, char **output) {
- OPTION *opt = option_list;
-
- while (opt) {
- if (! strcmp(opt->name,option)) {
- *output = opt->value;
- return 1;
- }
- opt = opt->next;
- }
- return 0;
-}
-
-
-static char* OPT_parseOptFile(char *filename, char*validlist[])
-{
- FILE *fp;
- char buffer[1024];
-
- if (filename == NULL || filename[0] == '\0') {
- return ("Bad syntax for 'optfile'\n");
- }
- fp = fopen(filename,"r");
- if (fp == NULL) {
- return ("Options file could not be opened for reading\n");
- }
- while (fgets(buffer,1024,fp)) {
- if (buffer[strlen(buffer)-1] == '\n') buffer[strlen(buffer)-1] = '\0';
- if (buffer[strlen(buffer)-1] == '\r') buffer[strlen(buffer)-1] = '\0';
-
- OPT_parseArgument(strdup(buffer),validlist);
- }
- fclose(fp);
- return NULL;
-}
-
-
-
-static char *OPT_parseArgument(char *arg, char* validlist[]) {
- char *error;
- char *INV_ARG = "invalid argument: %s";
- char *eq;
-
- OPTION *new_opt;
-
- if (!strncmp(arg,"optfile=",8)) {
- return OPT_parseOptFile(&arg[8],validlist);
- }
-
- new_opt = (OPTION*)malloc(sizeof(OPTION));
-
- new_opt->next = NULL;
- new_opt->name = strdup(arg);
- eq = strchr(new_opt->name,'=');
- if (eq) {
- *eq = 0;
- }
- new_opt->value = strchr(arg,'=');
-
-
- if (new_opt->value != NULL) {
- new_opt->value++;
- }
-
- if (option_list == NULL) {
- option_list = new_opt;
- last_option = new_opt;
- }
- else {
- last_option->next = new_opt;
- last_option= new_opt;
- }
- if (!validlist) {
- return NULL;
- }
- else {
- int i=0;
- while (validlist[i]) {
- if (! strcmp(validlist[i],new_opt->name)) {
- return NULL;
- }
- i+=2;
- }
- }
-
- error = (char *)malloc(strlen(INV_ARG)+strlen(new_opt->name)+5);
- sprintf(error,INV_ARG,new_opt->name);
-
- return error;
-}
-
-
-
-
-/* char *OPT_parseOptions(int ac, char **av)
-
- constructs the linked list of options
- ac: number of arguments
- av: array of arguments
- valid: array of valid arguments (can be null)
-
- returns:
- NULL if no error
- char* with error text if error. caller is responsible for
- freeing this memory
-
-*/
-
-char * OPT_parseOptions(int ac, char **av, char *valid[]) {
- int i=0;
- char *r=NULL;
-
- assert(option_list == NULL);
- assert(last_option == NULL);
- assert(av != NULL);
-
- if (ac == 1) return NULL;
-
- for (i=0; i<ac-1; i++) {
- r = OPT_parseArgument(av[1+i],valid);
- if (r) return r;
- }
- return r;
-}
-
-
-
-