Rev 11143: Add support for some more constructions. in
file:///home/jelmer/bzr.samba/4.0-regwrite/
Jelmer Vernooij
jelmer at samba.org
Sat Jan 13 19:56:38 GMT 2007
------------------------------------------------------------
revno: 11143
revision-id: jelmer at samba.org-20070113195555-am0swaxzsoxp05p0
parent: jelmer at samba.org-20070113195431-nshumfy5z00cpnaj
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 4.0-regwrite
timestamp: Sat 2007-01-13 20:55:55 +0100
message:
Add support for some more constructions.
Support UTF-16 encoded files.
modified:
source/lib/policy/config.mk config.mk-20070113165302-5amgbz764f0myhw9-1
source/lib/policy/dumpadm.c dumpadm.c-20070113165302-5amgbz764f0myhw9-2
source/lib/policy/parse_adm.y parse_adm.y-20070113165302-5amgbz764f0myhw9-4
=== modified file 'source/lib/policy/config.mk'
--- a/source/lib/policy/config.mk 2007-01-13 19:50:19 +0000
+++ b/source/lib/policy/config.mk 2007-01-13 19:55:55 +0000
@@ -1,6 +1,7 @@
[LIBRARY::LIBPOLICY]
CFLAGS = -Iheimdal/lib/roken
-OBJ_FILES = lex.o parse_adm.o
+OBJ_FILES = lex.o parse_adm.o
+PRIVATE_DEPENDENCIES = CHARSET
lib/policy/lex.c: lib/policy/lex.l
@echo "Building $< with $(LEX)"
@@ -8,4 +9,4 @@
[BINARY::dumpadm]
OBJ_FILES = dumpadm.o
-PRIVATE_DEPENDENCIES = LIBPOLICY
+PRIVATE_DEPENDENCIES = LIBPOLICY LIBPOPT LIBSAMBA-CONFIG LIBTALLOC LIBSAMBA-UTIL
=== modified file 'source/lib/policy/dumpadm.c'
--- a/source/lib/policy/dumpadm.c 2007-01-13 19:50:19 +0000
+++ b/source/lib/policy/dumpadm.c 2007-01-13 19:55:55 +0000
@@ -19,17 +19,36 @@
*/
#include "includes.h"
-#include "lib/policy/parse_adm.h"
-
-extern FILE *yyin;
-
-extern void yyparse(void);
+#include "lib/popt/popt.h"
+#include "lib/policy/adm.h"
int main(int argc, char **argv)
{
- yyin = fopen("foo.adm", "r");
- if (yyin == NULL)
- return -1;
-
- yyparse();
+ BOOL ret = True;
+ poptContext pc;
+ struct poptOption long_options[] = {
+ POPT_AUTOHELP
+ { 0, 0, 0, 0 }
+ };
+
+ pc = poptGetContext(argv[0], argc, (const char **)argv, long_options, 0);
+
+ poptSetOtherOptionHelp(pc, "<ADM-FILE> ...");
+
+ while ((poptGetNextOpt(pc) != -1))
+
+ if(!poptPeekArg(pc)) {
+ poptPrintUsage(pc, stderr, 0);
+ exit(1);
+ }
+
+ while (poptPeekArg(pc)) {
+ const char *name = poptGetArg(pc);
+
+ adm_read_file(name);
+ }
+
+ poptFreeContext(pc);
+
+ return ret;
}
=== modified file 'source/lib/policy/parse_adm.y'
--- a/source/lib/policy/parse_adm.y 2007-01-13 19:50:19 +0000
+++ b/source/lib/policy/parse_adm.y 2007-01-13 19:55:55 +0000
@@ -45,10 +45,10 @@
%token NAME
%token VALUE
%token NUMERIC EDITTEXT TEXT DROPDOWNLIST CHECKBOX
-%token MIN MAX DEFAULT
+%token MINIMUM MAXIMUM DEFAULT
%token END
%token ACTIONLIST
-%token DELETE
+%token DEL
%token SUPPORTED
%token <text> LITERAL
%token <integer> INTEGER
@@ -81,10 +81,8 @@
categoryitems: categoryitem categoryitems | /* empty */ ;
policy: POLICY string policyitems END POLICY;
-
-policyitems: part policyitems | definition policyitems | /* empty */;
-
-definition: keyname | valuename | valueon | valueoff | explain | min | max | defaultvalue | supported;
+policyitem: explain | keyname | valuename | valueon | valueoff | min | max | defaultvalue | supported | part;
+policyitems: policyitem policyitems | /* empty */;
valuetype: NUMERIC | EDITTEXT | TEXT | DROPDOWNLIST | CHECKBOX;
@@ -92,15 +90,15 @@
spin: SPIN INTEGER;
-partitem: definition | itemlist | REQUIRED | spin;
+partitem: keyname | valuename | valueon | valueoff | min | max | defaultvalue | itemlist | REQUIRED | spin;
partitems: partitem partitems | /* empty */;
-min: MIN INTEGER;
-max: MAX INTEGER;
+min: MINIMUM INTEGER;
+max: MAXIMUM INTEGER;
defaultvalue: DEFAULT INTEGER;
explain: EXPLAIN string;
-value: NUMERIC INTEGER | DELETE;
+value: DEL | NUMERIC INTEGER;
valueon: VALUEON value;
valueoff: VALUEOFF value;
@@ -118,7 +116,7 @@
supported: SUPPORTED string;
actionlist: ACTIONLIST actions END ACTIONLIST;
-actions: valuename actions | /* empty */;
+actions: valuename actions | itemvalue actions | /* empty */;
variable: LITERAL EQUALS LITERAL;
variables: variable variables | /* empty */;
More information about the samba-cvs
mailing list