Changeset 3488

Show
Ignore:
Timestamp:
08/13/07 17:09:52 (1 year ago)
Author:
tg
Message:

begin working on default values, but I'm going to have to implement
different arg types (string ./. integer) first, d’oh

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/common-nfo/tools/nfotiser/nfotiser.h

    r3487 r3488  
    2828 
    2929enum parser_argtype { 
     30        ARGT_INVALID, 
    3031        ARGT_STRING, 
    3132        ARGT_INTEGER 
     
    7273char *varnameck(const char *, const char *); 
    7374char *parse_fmt(parser_kwords, enum parser_kwtype, char *, unsigned, int); 
     75char *parse_fms(const char *, struct parser_res *); 
    7476__END_DECLS 
    7577 
  • branches/common-nfo/tools/nfotiser/pfile.c

    r3487 r3488  
    117117        { "USERS", K_USERS, KWT_NORMAL, ARGT_STRING }, 
    118118        { "VERSION", K_VERSION, KWT_NORMAL, ARGT_STRING }, 
    119         { NULL, 0, 0, 0
     119        { NULL, KX_INVALID, KWT_INVALID, ARGT_INVALID
    120120}; 
    121121 
     
    171171} 
    172172 
     173static struct defaultvalue { 
     174        parser_kwords prefix; 
     175        enum parser_kwtype type; 
     176        const char *fmt; 
     177} defaultvalues[] = { 
     178        { K_BROKEN, KWT_NORMAL, "n" }, 
     179        { K_DASHVER, KWT_NORMAL, "1" }, 
     180        { KX_INVALID, KWT_INVALID, NULL } 
     181}; 
     182 
    173183static void 
    174184do_defaultvalues(struct parser_result *head) 
    175185{ 
    176         /* ENOCOFFEE */; 
     186        struct parser_res *entry, *evar; 
     187 
     188        /* we only do some expansion here, not yet checking for required */ 
     189 
    177190} 
    178191 
     
    354367        return (NULL); 
    355368} 
     369 
     370char * 
     371parse_fms(const char *fmt, struct parser_res *entry) 
     372{ 
     373        if (entry == NULL) 
     374                return (NULL); 
     375        return (xasprintf(fmt, entry->kw_multi, entry->kw_iter)); 
     376}