From: Ralph Corderoy Date: Sat, 11 Nov 2017 23:34:59 +0000 (+0000) Subject: snprintb.c: Move interface to own file. X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/b58ec23ab118f9614c478cf3ee323e614e3c13bf?hp=12e3e0754ce067f30b3cdf7378ddbbaadff1ec7c snprintb.c: Move interface to own file. --- diff --git a/Makefile.am b/Makefile.am index 8b6064ec..7cebda70 100644 --- a/Makefile.am +++ b/Makefile.am @@ -424,6 +424,7 @@ noinst_HEADERS = \ sbr/seq_list.h \ sbr/seq_nameok.h \ sbr/seq_print.h \ + sbr/snprintb.h \ sbr/ssequal.h \ sbr/strindex.h \ sbr/terminal.h \ diff --git a/h/prototypes.h b/h/prototypes.h index 529842c0..ee96d5bc 100644 --- a/h/prototypes.h +++ b/h/prototypes.h @@ -112,40 +112,6 @@ void seq_setunseen (struct msgs *, int); int showfile (char **, char *); int smatch(const char *, const struct swit *) PURE; -/* - * Convert a set of bit flags to printable format. - * - * Arguments: - * - * buffer - Buffer to output string to. - * size - Size of buffer in bytes. Buffer is always NUL terminated. - * flags - Binary flags to output - * bitfield - Textual representation of bits to output. This string - * is in the following format: - * - * Option byte 0x01 STRING1 0x02 STRING2 .... - * - * The first byte is an option byte to snprintb(). Currently the only option - * supported is 0x08, which indicates that the flags should be output in - * octal format; if the option byte is any other value, the flags will be - * output in hexadecimal. - * - * After the option bytes are series of text strings, prefixed by the number - * of the bit they correspond to. For example, the bitfield string: - * - * "\020\01FLAG1\02FLAG2\03FLAG3\04FLAG4" - * - * will output the following string if "flags" is set to 0x09: - * - * 0x2 - * - * You don't have to use octal in the bitfield string, that's just the - * convention currently used by the nmh code. The order of flags in the - * bitfield string is not significant, but again, general convention is - * from least significant bit to most significant. - */ -char *snprintb (char *buffer, size_t size, unsigned flags, char *bitfield); - /* * prototypes for some routines in uip */ diff --git a/sbr/addrsbr.c b/sbr/addrsbr.c index 876ecc12..9b2973a3 100644 --- a/sbr/addrsbr.c +++ b/sbr/addrsbr.c @@ -6,6 +6,7 @@ */ #include "h/mh.h" +#include "snprintb.h" #include "strindex.h" #include "uprf.h" #include "getcpy.h" diff --git a/sbr/snprintb.c b/sbr/snprintb.c index bf99c9ba..e221b4e5 100644 --- a/sbr/snprintb.c +++ b/sbr/snprintb.c @@ -6,6 +6,7 @@ */ #include "h/mh.h" +#include "snprintb.h" char * diff --git a/sbr/snprintb.h b/sbr/snprintb.h new file mode 100644 index 00000000..db8f6fd3 --- /dev/null +++ b/sbr/snprintb.h @@ -0,0 +1,39 @@ +/* snprintb.h -- snprintf a %b string + * + * This code is Copyright (c) 2017, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ + +/* + * Convert a set of bit flags to printable format. + * + * Arguments: + * + * buffer - Buffer to output string to. + * size - Size of buffer in bytes. Buffer is always NUL terminated. + * flags - Binary flags to output + * bitfield - Textual representation of bits to output. This string + * is in the following format: + * + * Option byte 0x01 STRING1 0x02 STRING2 .... + * + * The first byte is an option byte to snprintb(). Currently the only option + * supported is 0x08, which indicates that the flags should be output in + * octal format; if the option byte is any other value, the flags will be + * output in hexadecimal. + * + * After the option bytes are series of text strings, prefixed by the number + * of the bit they correspond to. For example, the bitfield string: + * + * "\020\01FLAG1\02FLAG2\03FLAG3\04FLAG4" + * + * will output the following string if "flags" is set to 0x09: + * + * 0x2 + * + * You don't have to use octal in the bitfield string, that's just the + * convention currently used by the nmh code. The order of flags in the + * bitfield string is not significant, but again, general convention is + * from least significant bit to most significant. + */ +char *snprintb(char *, size_t, unsigned, char *); diff --git a/uip/fmttest.c b/uip/fmttest.c index 8d5423fa..39f4ecc4 100644 --- a/uip/fmttest.c +++ b/uip/fmttest.c @@ -6,6 +6,7 @@ */ #include "h/mh.h" +#include "sbr/snprintb.h" #include "sbr/getcpy.h" #include "sbr/m_convert.h" #include "sbr/getfolder.h" diff --git a/uip/mark.c b/uip/mark.c index d39ed19c..0d4dd0c8 100644 --- a/uip/mark.c +++ b/uip/mark.c @@ -8,6 +8,7 @@ */ #include "h/mh.h" +#include "sbr/snprintb.h" #include "sbr/m_convert.h" #include "sbr/getfolder.h" #include "sbr/folder_read.h" diff --git a/uip/mhlsbr.c b/uip/mhlsbr.c index cd25abe5..94039456 100644 --- a/uip/mhlsbr.c +++ b/uip/mhlsbr.c @@ -6,6 +6,7 @@ */ #include "h/mh.h" +#include "sbr/snprintb.h" #include "sbr/copyip.h" #include "sbr/discard.h" #include "sbr/trimcpy.h"