split pgm_options into itself + flagprocs so that the new flag set/clear functions can be placed into the library w/o bringing in the rest of pgm_options

This commit is contained in:
david parsons
2020-05-27 14:30:31 -07:00
parent bbfb1a7f87
commit 90f4342678
4 changed files with 53 additions and 31 deletions
+2 -1
View File
@@ -28,7 +28,7 @@ OBJS=mkdio.o markdown.o dumptree.o generate.o \
resource.o docheader.o version.o toc.o css.o \
xml.o Csio.o xmlpage.o basename.o emmatch.o \
github_flavoured.o setup.o tags.o html5.o \
@AMALLOC@ @H1TITLE@ flags.o v2compat.o
@AMALLOC@ @H1TITLE@ flags.o v2compat.o flagprocs.o
TESTFRAMEWORK=echo cols branch pandoc_headers
# modules that markdown, makepage, mkd2html, &tc use
@@ -174,6 +174,7 @@ emmatch.o: emmatch.c config.h cstring.h amalloc.h markdown.h
generate.o: generate.c config.h cstring.h amalloc.h markdown.h
main.o: main.c config.h amalloc.h
pgm_options.o: pgm_options.c pgm_options.h config.h amalloc.h
flagprocs.o: flagprocs.c pgm_options.h markdown.h config.h amalloc.h
makepage.o: makepage.c
markdown.o: markdown.c config.h cstring.h amalloc.h markdown.h
mkd2html.o: mkd2html.c config.h mkdio.h cstring.h amalloc.h
+1
View File
@@ -150,6 +150,7 @@ add_library(libmarkdown
"${_ROOT}/blocktags" "${_ROOT}/tags.c"
"${_ROOT}/html5.c"
"${_ROOT}/v2compat.c"
"${_ROOT}/flagprocs.c"
"${_ROOT}/flags.c")
set_target_properties(libmarkdown PROPERTIES
+50
View File
@@ -0,0 +1,50 @@
/* markdown: a C implementation of John Gruber's Markdown markup language.
*
* Copyright (C) 2007-2011 David L Parsons.
* The redistribution terms are provided in the COPYRIGHT file that must
* be distributed with this source code.
*/
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <errno.h>
#include <string.h>
#include <stdarg.h>
#include "config.h"
#include "markdown.h"
#include "amalloc.h"
#if HAVE_LIBGEN_H
#include <libgen.h>
#endif
void
mkd_set_flag_num(mkd_flag_t *p, unsigned long bit)
{
if ( p && (bit < MKD_NR_FLAGS) )
set_mkd_flag(p, bit);
}
void
mkd_clr_flag_num(mkd_flag_t *p, unsigned long bit)
{
if ( p && (bit < MKD_NR_FLAGS) )
clear_mkd_flag(p, bit);
}
void
mkd_set_flag_bitmap(mkd_flag_t *p, long bits)
{
int i;
if ( p == 0 )
return;
for (i=0; i < 8*sizeof(long) && i < MKD_NR_FLAGS; i++)
if ( bits & (1<<i) )
set_mkd_flag(p, i);
}
-30
View File
@@ -197,36 +197,6 @@ mkd_set_flag_string(mkd_flag_t *flags, char *optionstring)
return 0;
}
void
mkd_set_flag_num(mkd_flag_t *p, unsigned long bit)
{
if ( p && (bit < MKD_NR_FLAGS) )
set_mkd_flag(p, bit);
}
void
mkd_clr_flag_num(mkd_flag_t *p, unsigned long bit)
{
if ( p && (bit < MKD_NR_FLAGS) )
clear_mkd_flag(p, bit);
}
void
mkd_set_flag_bitmap(mkd_flag_t *p, long bits)
{
int i;
if ( p == 0 )
return;
for (i=0; i < 8*sizeof(long) && i < MKD_NR_FLAGS; i++)
if ( bits & (1<<i) )
set_mkd_flag(p, i);
}
static void
set_dlist(mkd_flag_t *flags, int enable)
{