diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-07-21 23:30:39 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-07-21 23:30:39 +0000 |
commit | 1f1fa3776c03b51f845d9d9f54cbc3c980f6ead6 (patch) | |
tree | 203d6d6ad512f6d6a7d032cf8117556ef029a660 /mandoc.c | |
parent | 3ee412a268eff0c9e52bb141dc3289eda00a6d53 (diff) | |
download | mandoc-1f1fa3776c03b51f845d9d9f54cbc3c980f6ead6.tar.gz mandoc-1f1fa3776c03b51f845d9d9f54cbc3c980f6ead6.tar.zst mandoc-1f1fa3776c03b51f845d9d9f54cbc3c980f6ead6.zip |
Complete eqn.7 parsing. Features all productions from the original 1975
CACM paper in an LR(1) parse (1 -> eqn_rewind()). Right now the code is
a little jungly, but will clear up as I consolidate parse components.
The AST structure will also be cleaned up, as right now it's pretty ad
hoc (this won't change the parse itself). I added the mandoc_strndup()
function will here.
Diffstat (limited to 'mandoc.c')
-rw-r--r-- | mandoc.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: mandoc.c,v 1.54 2011/07/21 15:21:13 kristaps Exp $ */ +/* $Id: mandoc.c,v 1.55 2011/07/21 23:30:39 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org> @@ -432,6 +432,16 @@ mandoc_realloc(void *ptr, size_t size) return(ptr); } +char * +mandoc_strndup(const char *ptr, size_t sz) +{ + char *p; + + p = mandoc_malloc(sz + 1); + memcpy(p, ptr, sz); + p[(int)sz] = '\0'; + return(p); +} char * mandoc_strdup(const char *ptr) |