From 529579c28f0fb7abfc5695de3eb7ce21e5bc6980 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 28 Aug 2019 01:37:20 +0000 Subject: [PATCH] Added string utility function: str_has_ctrl() to check if a string contains any control (ASCII 0x01 - 0x1F) characters. --- src/sbbs3/sbbs.h | 1 + src/sbbs3/str_util.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 59cd82edb2..77bc85cb8a 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -1166,6 +1166,7 @@ extern "C" { DLLEXPORT char * ultoac(ulong l,char *str); DLLEXPORT char * rot13(char* str); DLLEXPORT uint32_t str_to_bits(uint32_t currval, const char *str); + DLLEXPORT BOOL str_has_ctrl(const char*); DLLEXPORT BOOL str_is_ascii(const char*); DLLEXPORT char * utf8_to_cp437_str(char* str); diff --git a/src/sbbs3/str_util.c b/src/sbbs3/str_util.c index 19a31542d4..7ca637b7aa 100644 --- a/src/sbbs3/str_util.c +++ b/src/sbbs3/str_util.c @@ -604,6 +604,15 @@ BOOL str_is_ascii(const char* str) return TRUE; } +BOOL str_has_ctrl(const char* str) +{ + for(const char* p = str; *p != 0; p++) { + if((uchar)*p < ' ') + return TRUE; + } + return FALSE; +} + /****************************************************************************/ /* Convert string from IBM extended ASCII to just ASCII */ /****************************************************************************/ -- GitLab