]> git.cameronkatri.com Git - mandoc.git/blobdiff - man_term.c
man(3) doesn't use err.h anymore.
[mandoc.git] / man_term.c
index f5fa109e1642f5844cf129019823a58f88dc03c9..81ea1fac849d32dc1275e645ec2599551525c8f3 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: man_term.c,v 1.6 2009/04/02 06:51:44 kristaps Exp $ */
+/* $Id: man_term.c,v 1.7 2009/04/05 16:34:22 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@openbsd.org>
  *
@@ -82,6 +82,7 @@ static const struct termact termacts[MAN_MAX] = {
        { pre_RI, NULL }, /* RI */
        { pre_PP, NULL }, /* br */
        { NULL, NULL }, /* na */
+       { pre_I, post_I }, /* i */
 };
 
 static void              print_head(struct termp *, 
@@ -282,15 +283,15 @@ pre_IP(DECL_ARGS)
 
        if (NULL == (nn = n->child))
                return(1);
-
-       /* FIXME - ignore the designator. */
-       nn = nn->next;
-
        if (MAN_TEXT != nn->type)
                errx(1, "expected text line argument");
 
-       offs = (size_t)atoi(nn->string);
-       nn = nn->next;
+       if (nn->next) {
+               if (MAN_TEXT != nn->next->type)
+                       errx(1, "expected text line argument");
+               offs = (size_t)atoi(nn->next->string);
+       } else
+               offs = strlen(nn->string);
 
        p->flags |= TERMP_NOSPACE;
        p->offset += offs;