[BACK]Return to mdoc_argv.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/mdoc_argv.c between version 1.100 and 1.104

version 1.100, 2015/02/04 18:59:45 version 1.104, 2015/04/19 14:00:19
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2012, 2014 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2012, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
  * copyright notice and this permission notice appear in all copies.   * copyright notice and this permission notice appear in all copies.
  *   *
  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF   * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR   * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES   * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN   * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
Line 24 
Line 24 
 #include <stdio.h>  #include <stdio.h>
 #include <string.h>  #include <string.h>
   
 #include "mdoc.h"  
 #include "mandoc.h"  
 #include "mandoc_aux.h"  #include "mandoc_aux.h"
 #include "libmdoc.h"  #include "mandoc.h"
   #include "roff.h"
   #include "mdoc.h"
 #include "libmandoc.h"  #include "libmandoc.h"
   #include "libmdoc.h"
   
 #define MULTI_STEP       5 /* pre-allocate argument values */  #define MULTI_STEP       5 /* pre-allocate argument values */
 #define DELIMSZ          6 /* max possible size of a delimiter */  #define DELIMSZ          6 /* max possible size of a delimiter */
Line 51  struct mdocarg {
Line 52  struct mdocarg {
 };  };
   
 static  void             argn_free(struct mdoc_arg *, int);  static  void             argn_free(struct mdoc_arg *, int);
 static  enum margserr    args(struct mdoc *, int, int *,  static  enum margserr    args(struct roff_man *, int, int *,
                                 char *, enum argsflag, char **);                                  char *, enum argsflag, char **);
 static  int              args_checkpunct(const char *, int);  static  int              args_checkpunct(const char *, int);
 static  void             argv_multi(struct mdoc *, int,  static  void             argv_multi(struct roff_man *, int,
                                 struct mdoc_argv *, int *, char *);                                  struct mdoc_argv *, int *, char *);
 static  void             argv_single(struct mdoc *, int,  static  void             argv_single(struct roff_man *, int,
                                 struct mdoc_argv *, int *, char *);                                  struct mdoc_argv *, int *, char *);
   
 static  const enum argvflag argvflags[MDOC_ARG_MAX] = {  static  const enum argvflag argvflags[MDOC_ARG_MAX] = {
Line 275  static const struct mdocarg mdocargs[MDOC_MAX] = {
Line 276  static const struct mdocarg mdocargs[MDOC_MAX] = {
  * Some flags take no argument, some one, some multiple.   * Some flags take no argument, some one, some multiple.
  */   */
 void  void
 mdoc_argv(struct mdoc *mdoc, int line, enum mdoct tok,  mdoc_argv(struct roff_man *mdoc, int line, int tok,
         struct mdoc_arg **reta, int *pos, char *buf)          struct mdoc_arg **reta, int *pos, char *buf)
 {  {
         struct mdoc_argv          tmpv;          struct mdoc_argv          tmpv;
Line 412  argn_free(struct mdoc_arg *p, int iarg)
Line 413  argn_free(struct mdoc_arg *p, int iarg)
 }  }
   
 enum margserr  enum margserr
 mdoc_args(struct mdoc *mdoc, int line, int *pos,  mdoc_args(struct roff_man *mdoc, int line, int *pos,
                 char *buf, enum mdoct tok, char **v)          char *buf, int tok, char **v)
 {  {
         struct mdoc_node *n;          struct roff_node *n;
         char             *v_local;          char             *v_local;
         enum argsflag     fl;          enum argsflag     fl;
   
         if (v == NULL)          if (v == NULL)
                 v = &v_local;                  v = &v_local;
         fl = tok == MDOC_MAX ? ARGSFL_NONE : mdocargs[tok].flags;          fl = tok == TOKEN_NONE ? ARGSFL_NONE : mdocargs[tok].flags;
         if (tok != MDOC_It)          if (tok != MDOC_It)
                 return(args(mdoc, line, pos, buf, fl, v));                  return(args(mdoc, line, pos, buf, fl, v));
   
Line 443  mdoc_args(struct mdoc *mdoc, int line, int *pos,
Line 444  mdoc_args(struct mdoc *mdoc, int line, int *pos,
 }  }
   
 static enum margserr  static enum margserr
 args(struct mdoc *mdoc, int line, int *pos,  args(struct roff_man *mdoc, int line, int *pos,
                 char *buf, enum argsflag fl, char **v)                  char *buf, enum argsflag fl, char **v)
 {  {
         char            *p, *pp;          char            *p, *pp;
Line 653  args_checkpunct(const char *buf, int i)
Line 654  args_checkpunct(const char *buf, int i)
 }  }
   
 static void  static void
 argv_multi(struct mdoc *mdoc, int line,  argv_multi(struct roff_man *mdoc, int line,
                 struct mdoc_argv *v, int *pos, char *buf)                  struct mdoc_argv *v, int *pos, char *buf)
 {  {
         enum margserr    ac;          enum margserr    ac;
Line 675  argv_multi(struct mdoc *mdoc, int line,
Line 676  argv_multi(struct mdoc *mdoc, int line,
 }  }
   
 static void  static void
 argv_single(struct mdoc *mdoc, int line,  argv_single(struct roff_man *mdoc, int line,
                 struct mdoc_argv *v, int *pos, char *buf)                  struct mdoc_argv *v, int *pos, char *buf)
 {  {
         enum margserr    ac;          enum margserr    ac;

Legend:
Removed from v.1.100  
changed lines
  Added in v.1.104

CVSweb