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