diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-25 23:56:37 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-26 00:30:16 -0600 |
commit | acc687b3a74e3c8d750630c323d223f1c63599db (patch) | |
tree | da55f9a30ffebc005d3a0157d70ca8d997afa959 /wrapper/plugin-parse.c | |
parent | bddd6fb07906e660260ef0fced05440ecac8d9e9 (diff) |
mkdir rvs; mv * rvs
Diffstat (limited to 'wrapper/plugin-parse.c')
-rw-r--r-- | wrapper/plugin-parse.c | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/wrapper/plugin-parse.c b/wrapper/plugin-parse.c deleted file mode 100644 index 4a35586..0000000 --- a/wrapper/plugin-parse.c +++ /dev/null @@ -1,132 +0,0 @@ -/* wrapper/plugin-parse.c -- parse rvs plugin config files - system depends: <stdio.h> <string.h> <error.h> - Copyright (C) 2009 Luke Shumaker - - This file is part of rvs. - - rvs 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; either version 2, or (at your - option) any later version. - - rvs 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 rvs; see the file COPYING. - If not, write to the Free Software Foundation, - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include <stdio.h> -#include <string.h> -#include <error.h> /* only used in `plugin_parse_escape' for `error' */ - -#include "rvs.h" -#include "plugins.h" - -#include "plugin-parse.h" - -void -plugin_parse_comment (FILE *file) -{ - char c; - while ( (c=getc(file)) != EOF ) { - if ( c == '\n' ) { - ungetc (c, file); - break; - } - } -} - -char -plugin_parse_escape(FILE *file) -{ - char c=getc(file); - switch (c) { - case 'n': - c = '\n'; - case '\\': - case '#': - case ':': - break; - default: - error(EXIT_FAILURE,0,"syntax error"); - break; - } - return c; -} - -#define _parse_share(string) \ - case '#':\ - plugin_parse_comment(file);\ - break;\ - case '\\':\ - c[0]=plugin_parse_escape(file);\ - default:\ - stradds(&nbytes,string,(char *)&c);\ - break; - -char * -plugin_parse_depend (FILE *file) -{ - size_t nbytes = 10; - char *string = (char *)xmalloc(nbytes); - string[0]='\0'; - - char c[2] = " \0"; - while ( (c[0]=getc(file)) != EOF ) { - switch (c[0]) { - case '\n': - ungetc (c[0], file); - return string; - break; - _parse_share(&string) - } - } - return string; -} - -struct plugin_command * -plugin_parse (struct plugin *plugin, FILE *file) -{ - struct plugin_command *command; - - char c[2] = " \0"; - c[0]=getc(file); - - if (c[0]==EOF) - command=NULL; - else { - ungetc (c[0], file); - command=plugin_mk_command(); - command->plugin=plugin; - - size_t nbytes = 10; - command->name = (char *)xmalloc(nbytes); - command->name[0]='\0'; - - while ( (c[0]=getc(file)) != EOF ) { - switch (c[0]) { - case '\n': - /*if (strlen(command->name)==0) {*/ - if (command->name[0]=='\0') { - plugin_free_command(command); - return plugin_parse(plugin,file); - } else - command->next=plugin_parse( - plugin,file); - break; - case ':': - command->depends=plugin_parse_depend( - file); - break; - _parse_share(&(command->name)) - } - } - } - return command; -} - |