The "value" argument to the roff(7) .nr requests ends right before
[mandoc.git] / mandoc.c
index df510226c42d32dd6c16377727e45956eb82f26c..2936ef936093fa2dff1d5dafd254db7c2d4aea31 100644 (file)
--- a/mandoc.c
+++ b/mandoc.c
@@ -1,4 +1,4 @@
-/*     $Id: mandoc.c,v 1.68 2013/08/08 20:07:47 schwarze Exp $ */
+/*     $Id: mandoc.c,v 1.70 2013/11/10 21:34:04 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011, 2012, 2013 Ingo Schwarze <schwarze@openbsd.org>
@@ -40,7 +40,7 @@ static        char    *time2a(time_t);
 
 
 enum mandoc_esc
-mandoc_escape(const char **end, const char **start, int *sz)
+mandoc_escape(const char const **end, const char const **start, int *sz)
 {
        const char      *local_start;
        int              local_sz;
@@ -93,8 +93,11 @@ mandoc_escape(const char **end, const char **start, int *sz)
        case ('C'):
                if ('\'' != **start)
                        return(ESCAPE_ERROR);
-               gly = ESCAPE_SPECIAL;
                *start = ++*end;
+               if ('u' == (*start)[0] && '\'' != (*start)[1])
+                       gly = ESCAPE_UNICODE;
+               else
+                       gly = ESCAPE_SPECIAL;
                term = '\'';
                break;