X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/00d760f7506c2d5c32ab5abf9f11b3066999f08a..394a751fd883d2bbfc769fed7e254e008a2ef45e:/sbr/fmt_scan.c diff --git a/sbr/fmt_scan.c b/sbr/fmt_scan.c index 61269b34..c5dc4f75 100644 --- a/sbr/fmt_scan.c +++ b/sbr/fmt_scan.c @@ -8,12 +8,17 @@ * fmt_compile (found in fmt_compile.c). */ -#include -#include -#include -#include -#include -#include +#include "h/mh.h" +#include "strindex.h" +#include "fmt_rfc2047.h" +#include "uprf.h" +#include "context_find.h" +#include "error.h" +#include "h/addrsbr.h" +#include "h/fmt_scan.h" +#include "h/tws.h" +#include "h/fmt_compile.h" +#include "h/utils.h" #include "unquote.h" #ifdef HAVE_SYS_TIME_H @@ -67,7 +72,8 @@ match (char *str, char *sub) * copy a number to the destination subject to a maximum width */ void -cpnumber(charstring_t dest, int num, int wid, char fill, size_t max) { +cpnumber(charstring_t dest, int num, int wid, char fill, size_t max) +{ /* Maybe we should handle left padding at some point? */ if (wid == 0) return; @@ -120,9 +126,10 @@ cpnumber(charstring_t dest, int num, int wid, char fill, size_t max) { * aligned no more than max characters are copied */ void -cptrimmed(charstring_t dest, char *str, int wid, char fill, size_t max) { +cptrimmed(charstring_t dest, char *str, int wid, char fill, size_t max) +{ int remaining; /* remaining output width available */ - int rjust; + bool rjust; struct charstring *trimmed; size_t end; /* number of input bytes remaining in str */ #ifdef MULTIBYTE_SUPPORT @@ -132,18 +139,18 @@ cptrimmed(charstring_t dest, char *str, int wid, char fill, size_t max) { char *altstr = NULL; #endif char *sp; /* current position in source string */ - int prevCtrl = 1; /* get alignment */ - rjust = 0; + rjust = false; if ((remaining = wid) < 0) { remaining = -remaining; - rjust++; + rjust = true; } if (remaining > (int) max) { remaining = max; } trimmed = rjust ? charstring_create(remaining) : dest; + bool prevCtrl = true; if ((sp = str)) { #ifdef MULTIBYTE_SUPPORT if (mbtowc(NULL, NULL, 0)) {} /* reset shift state */ @@ -193,10 +200,10 @@ cptrimmed(charstring_t dest, char *str, int wid, char fill, size_t max) { remaining--; } - prevCtrl = 1; + prevCtrl = true; continue; } - prevCtrl = 0; + prevCtrl = false; #ifdef MULTIBYTE_SUPPORT if (w >= 0 && remaining >= w) { @@ -396,7 +403,8 @@ fmt_scan (struct format *format, charstring_t scanlp, int width, int *dat, char *sp; char *savestr, *str; char buffer[NMH_BUFSIZ], buffer2[NMH_BUFSIZ]; - int i, c, rjust; + int i, c; + bool rjust; int value; time_t t; size_t max; @@ -464,11 +472,11 @@ fmt_scan (struct format *format, charstring_t scanlp, int width, int *dat, break; case FT_LITF: sp = fmt->f_text; - rjust = 0; + rjust = false; i = fmt->f_width; if (i < 0) { i = -i; - rjust++; /* XXX should do something with this */ + rjust = true; /* XXX should do something with this */ } while ((c = *sp++) && --i >= 0 && charstring_chars (scanlp) < max) { charstring_push_back (scanlp, c); @@ -723,10 +731,10 @@ fmt_scan (struct format *format, charstring_t scanlp, int width, int *dat, str = buffer; while (isspace((unsigned char) *str)) str++; - rjust = 0; + rjust = false; if ((i = fmt->f_width) < 0) { i = -i; - rjust++; + rjust = true; } if (!rjust && i > 0 && (int) strlen(str) > i)