8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 12:03:02 +01:00

People using other compilers shouldn't be bothered with workarounds for one compiler, while possible. We already have workarounds for gcc, SunOS4 headers, HP/UX compiler, SCO compiler, Apollo compiler... why adding more for everyone?

This commit is contained in:
robocop 2006-06-15 04:56:24 +00:00
parent 4089aec782
commit 0914c3a9dd

View File

@ -223,6 +223,7 @@ static inline bool commit_trans(isc_tr_handle* x)
return true; return true;
} }
#if defined(_MSC_VER) && _MSC_VER < 1400
static inline int fb_isspace(const char c) static inline int fb_isspace(const char c)
{ {
return isspace((int)(UCHAR)c); return isspace((int)(UCHAR)c);
@ -233,6 +234,15 @@ static inline int fb_isspace(const SSHORT c)
return isspace((int)(UCHAR)c); return isspace((int)(UCHAR)c);
} }
static inline int fb_isdigit(const char c)
{
return isspace((int)(UCHAR)c);
}
#else
#define fb_isspace ::isspace
#define fb_isdigit ::isdigit
#endif
class indev class indev
{ {
@ -1070,7 +1080,7 @@ void ISQL_errmsg(const ISC_STATUS* status)
/* CVC: Obsolete on 2005.10.06 because now line & column are numeric arguments. /* CVC: Obsolete on 2005.10.06 because now line & column are numeric arguments.
if (s) if (s)
{ {
while (*s && !isdigit(*s)) while (*s && !fb_isdigit(*s))
++s; ++s;
if (isdigit(*s)) if (isdigit(*s))
{ {
@ -1701,7 +1711,7 @@ bool ISQL_is_domain(const TEXT* field_name)
FLD.RDB$FIELD_NAME EQ field_name FLD.RDB$FIELD_NAME EQ field_name
if (!(strncmp (FLD.RDB$FIELD_NAME, "RDB$", 4) == 0 && if (!(strncmp (FLD.RDB$FIELD_NAME, "RDB$", 4) == 0 &&
isdigit (FLD.RDB$FIELD_NAME[4]) && fb_isdigit (FLD.RDB$FIELD_NAME[4]) &&
FLD.RDB$SYSTEM_FLAG != 1)) FLD.RDB$SYSTEM_FLAG != 1))
{ {
is_domain = true; is_domain = true;
@ -2274,7 +2284,7 @@ static processing_state add_row(TEXT* tabname)
int count = 0; int count = 0;
for (; count < 4; ++count) for (; count < 4; ++count)
{ {
if (isdigit(msec_str[count])) if (fb_isdigit(msec_str[count]))
msec = msec * 10 + msec_str[count] - '0'; msec = msec * 10 + msec_str[count] - '0';
else else
break; break;