From 4065f47f8cfa510e0d96622cbe55f850684ee962 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 12 Jul 2016 09:23:46 -0700 Subject: [PATCH] SCP: Add sim_strncasecmp for platforms which may not have strncasecmp Consolidated the existing two previously implementations which existed in sim_serial and sim_ether. --- scp.c | 23 +++++++++++++++++++++++ scp.h | 1 + sim_ether.c | 25 ++----------------------- sim_serial.c | 27 ++------------------------- 4 files changed, 28 insertions(+), 48 deletions(-) diff --git a/scp.c b/scp.c index eacb704a..af172a64 100644 --- a/scp.c +++ b/scp.c @@ -7412,6 +7412,29 @@ int sim_isalnum (char c) return (c & 0x80) ? 0 : isalnum (c); } +/* strncasecmp() is not available on all platforms */ +int sim_strncasecmp (const char* string1, const char* string2, size_t len) +{ +size_t i; +unsigned char s1, s2; + +for (i=0; i s2) + return 1; + if (s1 == 0) + return 0; + } +return 0; +} + /* get_yn yes/no question Inputs: diff --git a/scp.h b/scp.h index 938851fb..8d995b30 100644 --- a/scp.h +++ b/scp.h @@ -148,6 +148,7 @@ int sim_isprint (char c); int sim_isdigit (char c); int sim_isgraph (char c); int sim_isalnum (char c); +int sim_strncasecmp (const char* string1, const char* string2, size_t len); CONST char *get_sim_opt (int32 opt, CONST char *cptr, t_stat *st); CONST char *get_glyph (const char *iptr, char *optr, char mchar); CONST char *get_glyph_nc (const char *iptr, char *optr, char mchar); diff --git a/sim_ether.c b/sim_ether.c index 9301a0e4..6b98ecc7 100644 --- a/sim_ether.c +++ b/sim_ether.c @@ -692,27 +692,6 @@ const char* eth_getname_bydesc(const char* desc, char* name, char *ndesc) return NULL; } -/* strncasecmp() is not available on all platforms */ -int eth_strncasecmp(const char* string1, const char* string2, size_t len) -{ - size_t i; - unsigned char s1, s2; - - for (i=0; i s2) - return 1; - if (s1 == 0) return 0; - } - return 0; -} - char* eth_getname_byname(const char* name, char* temp, char *desc) { ETH_LIST list[ETH_MAX_DEVICE]; @@ -724,7 +703,7 @@ char* eth_getname_byname(const char* name, char* temp, char *desc) n = strlen(name); for (i=0; i s2) - return 1; - if (s1 == 0) - return 0; -} -return 0; -} - static char* sim_serial_getname_byname (char* name, char* temp) { SERIAL_LIST list[SER_MAX_DEVICE]; @@ -325,7 +302,7 @@ found = 0; n = strlen(name); for (i=0; i