[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.92 and 1.96

version 1.92, 2014/04/20 16:46:05 version 1.96, 2014/08/10 23:54:41
Line 15 
Line 15 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
 #ifdef HAVE_CONFIG_H  
 #include "config.h"  #include "config.h"
 #endif  
   
 #include <sys/types.h>  #include <sys/types.h>
   
Line 179  static const struct mdocarg mdocargs[MDOC_MAX] = {
Line 177  static const struct mdocarg mdocargs[MDOC_MAX] = {
         { ARGSFL_NONE, NULL }, /* Nd */          { ARGSFL_NONE, NULL }, /* Nd */
         { ARGSFL_DELIM, NULL }, /* Nm */          { ARGSFL_DELIM, NULL }, /* Nm */
         { ARGSFL_DELIM, NULL }, /* Op */          { ARGSFL_DELIM, NULL }, /* Op */
         { ARGSFL_NONE, NULL }, /* Ot */          { ARGSFL_DELIM, NULL }, /* Ot */
         { ARGSFL_DELIM, NULL }, /* Pa */          { ARGSFL_DELIM, NULL }, /* Pa */
         { ARGSFL_NONE, args_Ex }, /* Rv */          { ARGSFL_NONE, args_Ex }, /* Rv */
         { ARGSFL_DELIM, NULL }, /* St */          { ARGSFL_DELIM, NULL }, /* St */
Line 249  static const struct mdocarg mdocargs[MDOC_MAX] = {
Line 247  static const struct mdocarg mdocargs[MDOC_MAX] = {
         { ARGSFL_NONE, NULL }, /* Ek */          { ARGSFL_NONE, NULL }, /* Ek */
         { ARGSFL_NONE, NULL }, /* Bt */          { ARGSFL_NONE, NULL }, /* Bt */
         { ARGSFL_NONE, NULL }, /* Hf */          { ARGSFL_NONE, NULL }, /* Hf */
         { ARGSFL_NONE, NULL }, /* Fr */          { ARGSFL_DELIM, NULL }, /* Fr */
         { ARGSFL_NONE, NULL }, /* Ud */          { ARGSFL_NONE, NULL }, /* Ud */
         { ARGSFL_DELIM, NULL }, /* Lb */          { ARGSFL_DELIM, NULL }, /* Lb */
         { ARGSFL_NONE, NULL }, /* Lp */          { ARGSFL_NONE, NULL }, /* Lp */
Line 260  static const struct mdocarg mdocargs[MDOC_MAX] = {
Line 258  static const struct mdocarg mdocargs[MDOC_MAX] = {
         { ARGSFL_DELIM, NULL }, /* Brc */          { ARGSFL_DELIM, NULL }, /* Brc */
         { ARGSFL_NONE, NULL }, /* %C */          { ARGSFL_NONE, NULL }, /* %C */
         { ARGSFL_NONE, NULL }, /* Es */          { ARGSFL_NONE, NULL }, /* Es */
         { ARGSFL_NONE, NULL }, /* En */          { ARGSFL_DELIM, NULL }, /* En */
         { ARGSFL_DELIM, NULL }, /* Dx */          { ARGSFL_DELIM, NULL }, /* Dx */
         { ARGSFL_NONE, NULL }, /* %Q */          { ARGSFL_NONE, NULL }, /* %Q */
         { ARGSFL_NONE, NULL }, /* br */          { ARGSFL_NONE, NULL }, /* br */
Line 359  mdoc_argv(struct mdoc *mdoc, int line, enum mdoct tok,
Line 357  mdoc_argv(struct mdoc *mdoc, int line, enum mdoct tok,
                 arg = *v = mandoc_calloc(1, sizeof(struct mdoc_arg));                  arg = *v = mandoc_calloc(1, sizeof(struct mdoc_arg));
   
         arg->argc++;          arg->argc++;
         arg->argv = mandoc_realloc(arg->argv,          arg->argv = mandoc_reallocarray(arg->argv,
             arg->argc * sizeof(struct mdoc_argv));              arg->argc, sizeof(struct mdoc_argv));
   
         memcpy(&arg->argv[(int)arg->argc - 1], &tmp,          memcpy(&arg->argv[(int)arg->argc - 1], &tmp,
             sizeof(struct mdoc_argv));              sizeof(struct mdoc_argv));
Line 461  args(struct mdoc *mdoc, int line, int *pos,
Line 459  args(struct mdoc *mdoc, int line, int *pos,
                  * is unterminated.                   * is unterminated.
                  */                   */
                 if (MDOC_PHRASELIT & mdoc->flags)                  if (MDOC_PHRASELIT & mdoc->flags)
                         mdoc_pmsg(mdoc, line, *pos, MANDOCERR_BADQUOTE);                          mandoc_msg(MANDOCERR_ARG_QUOTE,
                               mdoc->parse, line, *pos, NULL);
   
                 mdoc->flags &= ~MDOC_PHRASELIT;                  mdoc->flags &= ~MDOC_PHRASELIT;
                 return(ARGS_EOLN);                  return(ARGS_EOLN);
Line 520  args(struct mdoc *mdoc, int line, int *pos,
Line 519  args(struct mdoc *mdoc, int line, int *pos,
   
                 /* Whitespace check for eoln case... */                  /* Whitespace check for eoln case... */
                 if ('\0' == *p && ' ' == *(p - 1))                  if ('\0' == *p && ' ' == *(p - 1))
                         mdoc_pmsg(mdoc, line, *pos, MANDOCERR_EOLNSPACE);                          mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
                               line, *pos, NULL);
   
                 *pos += (int)(p - *v);                  *pos += (int)(p - *v);
   
Line 575  args(struct mdoc *mdoc, int line, int *pos,
Line 575  args(struct mdoc *mdoc, int line, int *pos,
                 if ('\0' == buf[*pos]) {                  if ('\0' == buf[*pos]) {
                         if (MDOC_PPHRASE & mdoc->flags)                          if (MDOC_PPHRASE & mdoc->flags)
                                 return(ARGS_QWORD);                                  return(ARGS_QWORD);
                         mdoc_pmsg(mdoc, line, *pos, MANDOCERR_BADQUOTE);                          mandoc_msg(MANDOCERR_ARG_QUOTE,
                               mdoc->parse, line, *pos, NULL);
                         return(ARGS_QWORD);                          return(ARGS_QWORD);
                 }                  }
   
Line 589  args(struct mdoc *mdoc, int line, int *pos,
Line 590  args(struct mdoc *mdoc, int line, int *pos,
                         (*pos)++;                          (*pos)++;
   
                 if ('\0' == buf[*pos])                  if ('\0' == buf[*pos])
                         mdoc_pmsg(mdoc, line, *pos, MANDOCERR_EOLNSPACE);                          mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
                               line, *pos, NULL);
   
                 return(ARGS_QWORD);                  return(ARGS_QWORD);
         }          }
Line 667  argv_multi(struct mdoc *mdoc, int line,
Line 669  argv_multi(struct mdoc *mdoc, int line,
                         break;                          break;
   
                 if (0 == v->sz % MULTI_STEP)                  if (0 == v->sz % MULTI_STEP)
                         v->value = mandoc_realloc(v->value,                          v->value = mandoc_reallocarray(v->value,
                             (v->sz + MULTI_STEP) * sizeof(char *));                              v->sz + MULTI_STEP, sizeof(char *));
   
                 v->value[(int)v->sz] = mandoc_strdup(p);                  v->value[(int)v->sz] = mandoc_strdup(p);
         }          }

Legend:
Removed from v.1.92  
changed lines
  Added in v.1.96

CVSweb