]> git.proxmox.com Git - mirror_frr.git/commitdiff
Merge pull request #105 from opensourcerouting/cli_merge_step_prep
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 25 Jan 2017 12:49:21 +0000 (07:49 -0500)
committerGitHub <noreply@github.com>
Wed, 25 Jan 2017 12:49:21 +0000 (07:49 -0500)
Prepare for split-off cli parser "merge" step

1  2 
lib/Makefile.am
lib/command.c
lib/command.h
lib/command_match.c
lib/command_parse.y

diff --cc lib/Makefile.am
Simple merge
diff --cc lib/command.c
Simple merge
diff --cc lib/command.h
index 1e490cc4cdb2511c47b7c7a4b01aa93dcbb8d6c3,3da77d3af32132e7397a8527e81c2efd24baf825..ff1b1a0e835d3a7d6b32b926f202bec022912622
@@@ -420,12 -422,18 +423,16 @@@ extern void cmd_terminate (void)
  extern void cmd_exit (struct vty *vty);
  extern int cmd_list_cmds (struct vty *vty, int do_permute);
  
+ /* NOT safe for general use; call this only if DEV_BUILD! */
+ extern void grammar_sandbox_init (void);
  /* memory management for cmd_token */
 -struct cmd_token *
 -new_cmd_token (enum cmd_token_type, u_char attr, char *, char *);
 -void
 -del_cmd_token (struct cmd_token *);
 -struct cmd_token *
 -copy_cmd_token (struct cmd_token *);
 +extern struct cmd_token *new_cmd_token (enum cmd_token_type, u_char attr,
 +                                        const char *text, const char *desc);
 +extern void del_cmd_token (struct cmd_token *);
 +extern struct cmd_token *copy_cmd_token (struct cmd_token *);
  
+ extern vector completions_to_vec (struct list *completions);
  extern void command_parse_format (struct graph *graph, struct cmd_element *cmd);
  
  /* Export typical functions. */
Simple merge
index 7f98704f90744c25554a29ce79e715eb470aca3c,dd8e6fb596d45f3ac602c3b1dccd466574f58f82..e9d36ca41cfa285e1192db42ce919dd43a1ddb36
  
    /* bison declarations */
    void
-   cmd_yyerror (struct parser_ctx *ctx, char const *msg);
-   /* subgraph semantic value */
-   struct subgraph {
-     struct graph_node *start, *end;
-   };
+   cmd_yyerror (CMD_YYLTYPE *locp, struct parser_ctx *ctx, char const *msg);
  
    /* helper functions for parser */
 -  static char *
 +  static const char *
    doc_next (struct parser_ctx *ctx);
  
    static struct graph_node *
    static struct graph_node *
    new_token_node (struct parser_ctx *,
                    enum cmd_token_type type,
 -                  char *text,
 -                  char *doc);
 +                  const char *text,
 +                  const char *doc);
  
    static void
-   terminate_graph (struct parser_ctx *ctx,
+   terminate_graph (CMD_YYLTYPE *locp, struct parser_ctx *ctx,
                     struct graph_node *);
  
    static void
@@@ -215,14 -213,9 +213,9 @@@ simple_token
  | placeholder_token
  ;
  
- compound_token:
-   selector
- | option
- ;
  literal_token: WORD
  {
 -  $$ = new_token_node (ctx, WORD_TKN, strdup($1), doc_next(ctx));
 +  $$ = new_token_node (ctx, WORD_TKN, $1, doc_next(ctx));
    free ($1);
  }
  ;