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 <[EMAIL PROTECTED]> properties: branch-nick: 4.0-regwrite rebase-of: [EMAIL PROTECTED] + timestamp: Sat 2007-01-13 20:55:55.779000044 +0100 committer: Jelmer Vernooij <[EMAIL PROTECTED]> properties: branch-nick: 4.0-regwrite rebase-of: [EMAIL PROTECTED] Name: bzr:revision-id:v3-trunk0 - 11140 [EMAIL PROTECTED] 11142 [EMAIL PROTECTED] + 11140 [EMAIL PROTECTED] 11142 [EMAIL PROTECTED] 11143 [EMAIL PROTECTED] 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 */;
