From 54bb3c9abdd34b92be44b87382a7b3c03a5991d9 Mon Sep 17 00:00:00 2001 From: Ian C Date: Fri, 2 Sep 2016 08:19:29 +0000 Subject: Added README and clamped code point values. --- ascii2map.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'ascii2map.c') diff --git a/ascii2map.c b/ascii2map.c index 30a2c44..f24cb77 100644 --- a/ascii2map.c +++ b/ascii2map.c @@ -105,6 +105,24 @@ static void EndOutput(FILE *fp) } +static unsigned CodePoint(char c) +{ + int offset = c - code_point; + + if (offset < 0) + { + offset = 0; + } + + if (offset > 255) + { + offset = 255; + } + + return (unsigned)offset; +} + + static void Output(FILE *fp, char c) { static int column; @@ -138,7 +156,7 @@ static void Output(FILE *fp, char c) } else { - fprintf(fp, "%u", c - code_point); + fprintf(fp, "%u", CodePoint(c)); } break; @@ -150,7 +168,7 @@ static void Output(FILE *fp, char c) } else { - putc(c - code_point, fp); + putc(CodePoint(c), fp); } break; @@ -177,7 +195,7 @@ static void Output(FILE *fp, char c) } else { - fprintf(fp, "%u", c - code_point); + fprintf(fp, "%u", CodePoint(c)); } break; -- cgit v1.2.3