svn commit: samba r24170 - in branches/4.0-regwrite: . source/lib/policy

jelmer at samba.org jelmer at samba.org
Sat Aug 4 13:12:36 GMT 2007


Author: jelmer
Date: 2007-08-04 13:12:35 +0000 (Sat, 04 Aug 2007)
New Revision: 24170

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24170

Log:
Add support for some more constructions.
Support UTF-16 encoded files.

Modified:
   branches/4.0-regwrite/
   branches/4.0-regwrite/source/lib/policy/config.mk
   branches/4.0-regwrite/source/lib/policy/dumpadm.c
   branches/4.0-regwrite/source/lib/policy/parse_adm.y


Changeset:

Property changes on: branches/4.0-regwrite
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: Sat 2007-01-13 20:54:31.888999939 +0100
committer: Jelmer Vernooij <jelmer at samba.org>
properties: 
	branch-nick: 4.0-regwrite
	rebase-of: jelmer at samba.org-20070113195431-nshumfy5z00cpnaj

   + timestamp: Sat 2007-01-13 20:55:55.779000044 +0100
committer: Jelmer Vernooij <jelmer at samba.org>
properties: 
	branch-nick: 4.0-regwrite
	rebase-of: jelmer at samba.org-20070113195555-am0swaxzsoxp05p0

Name: bzr:revision-id:v3-trunk0
   - 11140 jelmer at samba.org-20070113195019-yrx40nap220myng0-svn3-upgrade
11142 jelmer at samba.org-20070113195431-nshumfy5z00cpnaj-svn3-upgrade

   + 11140 jelmer at samba.org-20070113195019-yrx40nap220myng0-svn3-upgrade
11142 jelmer at samba.org-20070113195431-nshumfy5z00cpnaj-svn3-upgrade
11143 jelmer at samba.org-20070113195555-am0swaxzsoxp05p0-svn3-upgrade


Modified: branches/4.0-regwrite/source/lib/policy/config.mk
===================================================================
--- branches/4.0-regwrite/source/lib/policy/config.mk	2007-08-04 13:12:29 UTC (rev 24169)
+++ branches/4.0-regwrite/source/lib/policy/config.mk	2007-08-04 13:12:35 UTC (rev 24170)
@@ -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: branches/4.0-regwrite/source/lib/policy/dumpadm.c
===================================================================
--- branches/4.0-regwrite/source/lib/policy/dumpadm.c	2007-08-04 13:12:29 UTC (rev 24169)
+++ branches/4.0-regwrite/source/lib/policy/dumpadm.c	2007-08-04 13:12:35 UTC (rev 24170)
@@ -19,17 +19,36 @@
 */
 
 #include "includes.h"
-#include "lib/policy/parse_adm.h"
+#include "lib/popt/popt.h"
+#include "lib/policy/adm.h"
 
-extern FILE *yyin;
-
-extern void yyparse(void);
-
 int main(int argc, char **argv) 
 {
-	yyin = fopen("foo.adm", "r");
-	if (yyin == NULL)
-		return -1;
+	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> ...");
 
-	yyparse();
+	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: branches/4.0-regwrite/source/lib/policy/parse_adm.y
===================================================================
--- branches/4.0-regwrite/source/lib/policy/parse_adm.y	2007-08-04 13:12:29 UTC (rev 24169)
+++ branches/4.0-regwrite/source/lib/policy/parse_adm.y	2007-08-04 13:12:35 UTC (rev 24170)
@@ -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,26 +81,24 @@
 categoryitems: categoryitem categoryitems | /* empty */ ;
 
 policy: POLICY string policyitems END POLICY;
+policyitem: explain | keyname | valuename | valueon | valueoff | min | max | defaultvalue | supported | part;
+policyitems: policyitem policyitems | /* empty */;
 
-policyitems: part policyitems | definition policyitems | /* empty */;
-
-definition: keyname | valuename | valueon | valueoff | explain | min | max | defaultvalue | supported;
-
 valuetype: NUMERIC | EDITTEXT | TEXT | DROPDOWNLIST | CHECKBOX;
 
 part: PART string valuetype partitems END PART;
 
 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