8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 21:23:04 +01:00

Finished gcc-warnings cleanup

This commit is contained in:
alexpeshkoff 2007-04-11 16:05:40 +00:00
parent a842900939
commit d63491e3c5
26 changed files with 167 additions and 155 deletions

View File

@ -489,6 +489,13 @@ if test "$EDITLINE_FLG" = "Y"; then
fi fi
dnl AC_CHECK_LIB(stdc++, main,,, $LIBS) dnl AC_CHECK_LIB(stdc++, main,,, $LIBS)
dnl check for INFINITY in math.h
dnl _ISOC99_SOURCE is defined to emulate C++ compilation in plain-C conftest.c
AC_TRY_COMPILE([#define _ISOC99_SOURCE 1
#include <math.h>],
[double x = INFINITY;],
[AC_DEFINE(HAVE_INFINITY, 1,
[Define this if INFINITY is defined in math.h])])
dnl Check for functions dnl Check for functions
AC_CHECK_FUNCS(gettimeofday) AC_CHECK_FUNCS(gettimeofday)

View File

@ -663,7 +663,7 @@ enum gfld_flags_vals {
// CVC: Could use MAXPATHLEN, but what about restoring in a different system? // CVC: Could use MAXPATHLEN, but what about restoring in a different system?
// I need to review if we tolerate different lengths for different OS's here. // I need to review if we tolerate different lengths for different OS's here.
const int MAX_FILE_NAME_SIZE = 256; const unsigned int MAX_FILE_NAME_SIZE = 256;
// Note that this typedef is also defined in JRD.H and REMOTE.H // Note that this typedef is also defined in JRD.H and REMOTE.H
// but for some reason we are avoiding including JRD.H // but for some reason we are avoiding including JRD.H

View File

@ -7567,7 +7567,7 @@ void store_blr_gen_id(BurpGlobals* tdgbl,
add_byte(blr, blr_end); add_byte(blr, blr_end);
add_byte(blr, blr_eoc); add_byte(blr, blr_eoc);
const SSHORT blr_length = blr - blr_buffer; const USHORT blr_length = blr - blr_buffer;
fb_assert(blr_length <= sizeof(blr_buffer)); fb_assert(blr_length <= sizeof(blr_buffer));
ISC_STATUS_ARRAY status_vector; ISC_STATUS_ARRAY status_vector;

View File

@ -60,7 +60,7 @@ AdminException::AdminException(const char *txt, ...)
text = buffer; text = buffer;
delete [] buffer; delete [] buffer;
} }
else if (ret >= sizeof (temp)) else if (static_cast<unsigned>(ret) >= sizeof (temp))
{ {
int l = ret + 1; int l = ret + 1;
char *buffer = new char [l]; char *buffer = new char [l];

View File

@ -168,7 +168,7 @@ ISC_STATUS API_ROUTINE isc_array_lookup_bounds(ISC_STATUS* status,
ISC_STATUS_ARRAY isc_status = {0}; ISC_STATUS_ARRAY isc_status = {0};
isc_db_handle DB = *db_handle; isc_db_handle DB = *db_handle;
isc_req_handle handle = NULL; isc_req_handle handle = 0;
ISC_ARRAY_BOUND* tail = desc->array_desc_bounds; ISC_ARRAY_BOUND* tail = desc->array_desc_bounds;
@ -525,7 +525,7 @@ static ISC_STATUS lookup_desc(ISC_STATUS* status,
**************************************/ **************************************/
ISC_STATUS_ARRAY isc_status = {0}; ISC_STATUS_ARRAY isc_status = {0};
isc_db_handle DB = *db_handle; isc_db_handle DB = *db_handle;
isc_req_handle handle = NULL; isc_req_handle handle = 0;
copy_exact_name (field_name, desc->array_desc_field_name, copy_exact_name (field_name, desc->array_desc_field_name,
sizeof(desc->array_desc_field_name)); sizeof(desc->array_desc_field_name));

View File

@ -148,7 +148,7 @@ ISC_STATUS API_ROUTINE isc_blob_lookup_desc(ISC_STATUS* status,
***********************************************/ ***********************************************/
ISC_STATUS_ARRAY isc_status = {0}; ISC_STATUS_ARRAY isc_status = {0};
isc_db_handle DB = *db_handle; isc_db_handle DB = *db_handle;
isc_req_handle handle = NULL; isc_req_handle handle = 0;
copy_exact_name (field_name, desc->blob_desc_field_name, copy_exact_name (field_name, desc->blob_desc_field_name,
sizeof(desc->blob_desc_field_name)); sizeof(desc->blob_desc_field_name));
@ -183,7 +183,7 @@ ISC_STATUS API_ROUTINE isc_blob_lookup_desc(ISC_STATUS* status,
if (!flag) if (!flag)
{ {
handle = NULL; handle = 0;
FOR (REQUEST_HANDLE handle TRANSACTION_HANDLE *trans_handle) FOR (REQUEST_HANDLE handle TRANSACTION_HANDLE *trans_handle)
X IN RDB$PROCEDURE_PARAMETERS CROSS Y IN RDB$FIELDS X IN RDB$PROCEDURE_PARAMETERS CROSS Y IN RDB$FIELDS

View File

@ -238,7 +238,7 @@ int dsql_yyparse(USHORT client_dialect, USHORT db_dialect, USHORT parser_version
if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol"; if (!yys) yys = "illegal-symbol";
printf("yydebug[%d,%p]: state %d, reading %d (%s)", printf("yydebug[%d,%p]: state %d, reading %d (%s)",
yydepth, yytrial, yystate, yychar, yys); int(yydepth), yytrial, yystate, yychar, yys);
#ifdef YYDBPR #ifdef YYDBPR
printf("<"); printf("<");
YYDBPR(yylval); YYDBPR(yylval);
@ -262,7 +262,7 @@ int dsql_yyparse(USHORT client_dialect, USHORT db_dialect, USHORT parser_version
#if YYDEBUG #if YYDEBUG
if (yydebug) { if (yydebug) {
printf("yydebug[%d,%p]: CONFLICT in state %d: following successful trial parse\n", printf("yydebug[%d,%p]: CONFLICT in state %d: following successful trial parse\n",
yydepth, yytrial, yystate); int(yydepth), yytrial, yystate);
} }
#endif #endif
// Switch to the next conflict context // Switch to the next conflict context
@ -278,7 +278,7 @@ int dsql_yyparse(USHORT client_dialect, USHORT db_dialect, USHORT parser_version
#if YYDEBUG #if YYDEBUG
if (yydebug) { if (yydebug) {
printf("yydebug[%d,%p]: CONFLICT in state %d. ", printf("yydebug[%d,%p]: CONFLICT in state %d. ",
yydepth, yytrial, yystate); int(yydepth), yytrial, yystate);
if(yyps->save) { if(yyps->save) {
printf("ALREADY in conflict. Continue trial parse."); printf("ALREADY in conflict. Continue trial parse.");
} else { } else {
@ -338,7 +338,7 @@ int dsql_yyparse(USHORT client_dialect, USHORT db_dialect, USHORT parser_version
#if YYDEBUG #if YYDEBUG
if (yydebug) if (yydebug)
printf("yydebug[%d,%p]: state %d, shifting to state %d\n", printf("yydebug[%d,%p]: state %d, shifting to state %d\n",
yydepth, yytrial, yystate, yyctable[ctry]); int(yydepth), yytrial, yystate, yyctable[ctry]);
#endif #endif
if (yychar < 0) if (yychar < 0)
yylvp++, yylpp++, yylexp++; yylvp++, yylpp++, yylexp++;
@ -362,7 +362,7 @@ int dsql_yyparse(USHORT client_dialect, USHORT db_dialect, USHORT parser_version
#if YYDEBUG #if YYDEBUG
if (yydebug) if (yydebug)
printf("yydebug[%d,%p]: state %d, shifting to state %d\n", printf("yydebug[%d,%p]: state %d, shifting to state %d\n",
yydepth, yytrial, yystate, yytable[yyn]); int(yydepth), yytrial, yystate, yytable[yyn]);
#endif #endif
yychar = (-1); yychar = (-1);
if (yyps->errflag > 0) --yyps->errflag; if (yyps->errflag > 0) --yyps->errflag;
@ -399,7 +399,7 @@ yyerrhandler:
#if YYDEBUG #if YYDEBUG
if (yydebug) if (yydebug)
printf("yydebug[%d,%p]: ERROR in state %d, CONFLICT BACKTRACKING to state %d, %d tokens\n", printf("yydebug[%d,%p]: ERROR in state %d, CONFLICT BACKTRACKING to state %d, %d tokens\n",
yydepth, yytrial, yystate, yyps->save->state, yylvp - yylvals - yyps->save->lexeme); int(yydepth), yytrial, yystate, yyps->save->state, int(yylvp - yylvals - yyps->save->lexeme));
#endif #endif
// Memorize most forward-looking error state in case // Memorize most forward-looking error state in case
// it's really an error. // it's really an error.
@ -485,7 +485,7 @@ yyerrhandler:
#if YYDEBUG #if YYDEBUG
if (yydebug) if (yydebug)
printf("yydebug[%d,%p]: state %d, ERROR recovery shifts to state %d\n", printf("yydebug[%d,%p]: state %d, ERROR recovery shifts to state %d\n",
yydepth, yytrial, *(yyps->ssp), yytable[yyn]); int(yydepth), yytrial, *(yyps->ssp), yytable[yyn]);
#endif #endif
/* Use label yyerrlab, so that compiler does not warn */ /* Use label yyerrlab, so that compiler does not warn */
if(yyps->errflag != yyps->errflag) goto yyerrlab; if(yyps->errflag != yyps->errflag) goto yyerrlab;
@ -495,7 +495,7 @@ yyerrhandler:
#if YYDEBUG #if YYDEBUG
if (yydebug) if (yydebug)
printf("yydebug[%d,%p]: ERROR recovery discards state %d\n", printf("yydebug[%d,%p]: ERROR recovery discards state %d\n",
yydepth, yytrial, *(yyps->ssp)); int(yydepth), yytrial, *(yyps->ssp));
#endif #endif
if (yyps->ssp <= yyps->ss) { if (yyps->ssp <= yyps->ss) {
goto yyabort; goto yyabort;
@ -517,7 +517,7 @@ yyerrhandler:
if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol"; if (!yys) yys = "illegal-symbol";
printf("yydebug[%d,%p]: state %d, ERROR recovery discards token %d (%s)\n", printf("yydebug[%d,%p]: state %d, ERROR recovery discards token %d (%s)\n",
yydepth, yytrial, yystate, yychar, yys); int(yydepth), yytrial, yystate, yychar, yys);
} }
#endif #endif
if(!yytrial) { if(!yytrial) {
@ -536,7 +536,7 @@ yyreduce:
#if YYDEBUG #if YYDEBUG
if (yydebug) { if (yydebug) {
printf("yydebug[%d,%p]: state %d, reducing by rule %d (%s)", printf("yydebug[%d,%p]: state %d, reducing by rule %d (%s)",
yydepth, yytrial, yystate, yyn, yyrule[yyn]); int(yydepth), yytrial, yystate, yyn, yyrule[yyn]);
#ifdef YYDBPR #ifdef YYDBPR
if (yym) { if (yym) {
int i; int i;
@ -597,7 +597,7 @@ yyreduce:
#if YYDEBUG #if YYDEBUG
if (yydebug) { if (yydebug) {
printf("yydebug[%d,%p]: after reduction, shifting from state 0 to state %d\n", printf("yydebug[%d,%p]: after reduction, shifting from state 0 to state %d\n",
yydepth, yytrial, YYFINAL); int(yydepth), yytrial, YYFINAL);
} }
#endif #endif
yystate = YYFINAL; yystate = YYFINAL;
@ -616,7 +616,7 @@ yyreduce:
if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol"; if (!yys) yys = "illegal-symbol";
printf("yydebug[%d,%p]: state %d, reading %d (%s)\n", printf("yydebug[%d,%p]: state %d, reading %d (%s)\n",
yydepth, yytrial, YYFINAL, yychar, yys); int(yydepth), yytrial, YYFINAL, yychar, yys);
} }
#endif #endif
} }
@ -633,7 +633,7 @@ yyreduce:
#if YYDEBUG #if YYDEBUG
if (yydebug) if (yydebug)
printf("yydebug[%d,%p]: after reduction, shifting from state %d to state %d\n", printf("yydebug[%d,%p]: after reduction, shifting from state %d to state %d\n",
yydepth, yytrial, *(yyps->ssp), yystate); int(yydepth), yytrial, *(yyps->ssp), yystate);
#endif #endif
if (yyps->ssp >= yyps->ss + yyps->stacksize - 1) { if (yyps->ssp >= yyps->ss + yyps->stacksize - 1) {
YYMoreStack(yyps); YYMoreStack(yyps);
@ -661,7 +661,7 @@ yyvalid:
#if YYDEBUG #if YYDEBUG
if (yydebug) if (yydebug)
printf("yydebug[%d,%p]: CONFLICT trial successful, backtracking to state %d, %d tokens\n", printf("yydebug[%d,%p]: CONFLICT trial successful, backtracking to state %d, %d tokens\n",
yydepth, yytrial, yypath->state, yylvp - yylvals - yypath->lexeme); int(yydepth), yytrial, yypath->state, int(yylvp - yylvals - yypath->lexeme));
#endif #endif
if(yyerrctx) { if(yyerrctx) {
YYFreeState(yyerrctx); yyerrctx = NULL; YYFreeState(yyerrctx); yyerrctx = NULL;

View File

@ -143,7 +143,7 @@ static void delete_procedure(dsql_req*, dsql_nod*, bool);
static void delete_relation_view(dsql_req*, dsql_nod*, bool); static void delete_relation_view(dsql_req*, dsql_nod*, bool);
static void delete_trigger(dsql_req*, dsql_nod*, bool); static void delete_trigger(dsql_req*, dsql_nod*, bool);
static const dsql_nod* find_pk_columns(const dsql_nod* def_rel_elements); static const dsql_nod* find_pk_columns(const dsql_nod* def_rel_elements);
static int find_start_of_body(const dsql_str* string); static ULONG find_start_of_body(const dsql_str* string);
static void fix_default_source(dsql_str* string); static void fix_default_source(dsql_str* string);
static void foreign_key(dsql_req*, dsql_nod*, const char* index_name); static void foreign_key(dsql_req*, dsql_nod*, const char* index_name);
static void generate_dyn(dsql_req*, dsql_nod*); static void generate_dyn(dsql_req*, dsql_nod*);
@ -1159,7 +1159,7 @@ static void define_constraint_trigger(dsql_req* request, dsql_nod* node)
if (source) if (source)
{ {
fb_assert(source->str_length <= MAX_USHORT); fb_assert(source->str_length <= MAX_USHORT);
int j = find_start_of_body(source); ULONG j = find_start_of_body(source);
if (j < source->str_length) if (j < source->str_length)
{ {
request->append_string( isc_dyn_trg_source, request->append_string( isc_dyn_trg_source,
@ -2479,7 +2479,7 @@ static void define_procedure( dsql_req* request, NOD_TYPE op)
if (source) if (source)
{ {
fb_assert(source->str_length <= MAX_USHORT); fb_assert(source->str_length <= MAX_USHORT);
int j = find_start_of_body(source); ULONG j = find_start_of_body(source);
if (j < source->str_length) if (j < source->str_length)
{ {
request->append_string( isc_dyn_prc_source, request->append_string( isc_dyn_prc_source,
@ -3229,7 +3229,7 @@ static void define_trigger(dsql_req* request, NOD_TYPE op)
if (source && actions) if (source && actions)
{ {
fb_assert(source->str_length <= MAX_USHORT); fb_assert(source->str_length <= MAX_USHORT);
int j = find_start_of_body(source); ULONG j = find_start_of_body(source);
if (j < source->str_length) if (j < source->str_length)
{ {
request->append_string( isc_dyn_trg_source, request->append_string( isc_dyn_trg_source,
@ -4403,11 +4403,11 @@ const dsql_nod* find_pk_columns(const dsql_nod* def_rel_elements)
// @brief Find the start of a procedure body. Empty lines are irrelevant. // @brief Find the start of a procedure body. Empty lines are irrelevant.
// @param string the source string to be searched. // @param string the source string to be searched.
// //
static int find_start_of_body(const dsql_str* string) static ULONG find_start_of_body(const dsql_str* string)
{ {
int j = 0; ULONG j = 0;
for (int i = 0; i < string->str_length; ++i) for (ULONG i = 0; i < string->str_length; ++i)
{ {
switch (string->str_data[i]) switch (string->str_data[i])
{ {
@ -4452,7 +4452,7 @@ static void fix_default_source(dsql_str* string)
} }
#endif #endif
for (int i = 7; i < string->str_length; ++i) for (ULONG i = 7; i < string->str_length; ++i)
{ {
switch (string->str_data[i]) switch (string->str_data[i])
{ {

View File

@ -5064,7 +5064,7 @@ static UCHAR* var_info(
} }
} }
for (int i = 0; i < parameters.getCount(); i++) for (size_t i = 0; i < parameters.getCount(); i++)
{ {
const dsql_par* param = parameters[i]; const dsql_par* param = parameters[i];
fb_assert(param); fb_assert(param);

View File

@ -430,7 +430,8 @@ static SSHORT get_next_token(
if (char_class & CHR_DIGIT) { if (char_class & CHR_DIGIT) {
for (; s < stmt_end && (classes(c = *s) & CHR_DIGIT); ++s); // empty body for (; s < stmt_end && (classes(c = *s) & CHR_DIGIT); ++s); // empty body
const ptrdiff_t length = (s - start_of_token); fb_assert(s >= start_of_token);
const size_t length = (s - start_of_token);
*stmt = s; *stmt = s;
if (length > MAX_TOKEN_SIZE) { if (length > MAX_TOKEN_SIZE) {
token.assign(start_of_token, MAX_TOKEN_SIZE); token.assign(start_of_token, MAX_TOKEN_SIZE);

View File

@ -148,7 +148,11 @@ double EXPORT IB_UDF_div( ISC_LONG *a, ISC_LONG *b)
// This is a Kludge! We need to return INF, // This is a Kludge! We need to return INF,
// but this seems to be the only way to do // but this seems to be the only way to do
// it since there seens to be no constant for it. // it since there seens to be no constant for it.
#ifdef HAVE_INFINITY
return INFINITY;
#else
return (1 / tan(0.0)); return (1 / tan(0.0));
#endif
} }
} }
@ -264,7 +268,11 @@ double EXPORT IB_UDF_mod( ISC_LONG *a, ISC_LONG *b)
// This is a Kludge! We need to return INF, // This is a Kludge! We need to return INF,
// but this seems to be the only way to do // but this seems to be the only way to do
// it since there seens to be no constant for it. // it since there seens to be no constant for it.
#ifdef HAVE_INFINITY
return INFINITY;
#else
return (1 / tan(0.0)); return (1 / tan(0.0));
#endif
} }
} }

View File

@ -228,7 +228,7 @@ USHORT LC_NARROW_string_to_key(texttype* obj, USHORT iInLen, const BYTE* pInChar
{ {
if ((coll->Primary != NULL_WEIGHT) && if ((coll->Primary != NULL_WEIGHT) &&
!(obj->texttype_impl->texttype_flags & TEXTTYPE_ignore_specials) && !(obj->texttype_impl->texttype_flags & TEXTTYPE_ignore_specials) &&
lspecial + 1 < sizeof(special)) lspecial + 1u < sizeof(special))
{ {
special[lspecial++] = (i + 1); /* position */ special[lspecial++] = (i + 1); /* position */
special[lspecial++] = coll->Primary; special[lspecial++] = coll->Primary;

View File

@ -2266,7 +2266,7 @@ static processing_state add_row(TEXT* tabname)
&times.tm_hour, &times.tm_min, &times.tm_sec, &times.tm_hour, &times.tm_min, &times.tm_sec,
msec_str)) msec_str))
{ {
int count = 0; unsigned int count = 0;
for (; count < 4; ++count) for (; count < 4; ++count)
{ {
if (fb_isdigit(msec_str[count])) if (fb_isdigit(msec_str[count]))
@ -3055,7 +3055,7 @@ static processing_state bulk_insert_hack(const char* command, XSQLDA** sqldap)
&times.tm_hour, &times.tm_min, &times.tm_sec, &times.tm_hour, &times.tm_min, &times.tm_sec,
msec_str)) msec_str))
{ {
int count = 0; unsigned int count = 0;
for (; count < 4; ++count) for (; count < 4; ++count)
{ {
if (fb_isdigit(msec_str[count])) if (fb_isdigit(msec_str[count]))
@ -5220,9 +5220,9 @@ static processing_state get_statement(TEXT* const statement,
// Set count of characters to zero // Set count of characters to zero
int count = 0; size_t count = 0;
int valuable_count = 0; // counter of valuable (non-space) chars size_t valuable_count = 0; // counter of valuable (non-space) chars
const int term_length = Termlen - 1; // additional variable for decreasing calculation const size_t term_length = Termlen - 1; // additional variable for decreasing calculation
Ifp.indev_line = Ifp.indev_aux; Ifp.indev_line = Ifp.indev_aux;
bool done = false; bool done = false;

View File

@ -112,7 +112,7 @@ namespace {
#define SLEUTH_insensitive 1 #define SLEUTH_insensitive 1
static const UCHAR special[256] = { static const UCHAR special[128] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, /* $%*+- (dollar, percent, star, plus, minus) */ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, /* $%*+- (dollar, percent, star, plus, minus) */
@ -121,14 +121,6 @@ static const UCHAR special[256] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, /* [ (open square) */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, /* [ (open square) */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, /* ~ (tilde) */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, /* ~ (tilde) */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}; };
template <class MATCHESTYPE> template <class MATCHESTYPE>

View File

@ -2530,7 +2530,7 @@ static void move_to_string(thread_db* tdbb, dsc* fromDesc, dsc* toDesc)
Firebird::HalfStaticArray<UCHAR, BUFFER_SMALL> buffer; Firebird::HalfStaticArray<UCHAR, BUFFER_SMALL> buffer;
buffer.getBuffer((blob->blb_length / fromCharSet->minBytesPerChar()) * buffer.getBuffer((blob->blb_length / fromCharSet->minBytesPerChar()) *
toCharSet->maxBytesPerChar()); toCharSet->maxBytesPerChar());
SLONG len = BLB_get_data(tdbb, blob, buffer.begin(), buffer.getCapacity(), true); ULONG len = BLB_get_data(tdbb, blob, buffer.begin(), buffer.getCapacity(), true);
if (len > MAX_COLUMN_SIZE - sizeof(USHORT)) if (len > MAX_COLUMN_SIZE - sizeof(USHORT))
ERR_post(isc_arith_except, 0); ERR_post(isc_arith_except, 0);

View File

@ -133,7 +133,7 @@ static BufferDesc* get_buffer(thread_db*, const PageNumber, LATCH, SSHORT);
static void invalidate_and_release_buffer(thread_db*, BufferDesc*); static void invalidate_and_release_buffer(thread_db*, BufferDesc*);
static SSHORT latch_bdb(thread_db*, LATCH, BufferDesc*, const PageNumber, SSHORT); static SSHORT latch_bdb(thread_db*, LATCH, BufferDesc*, const PageNumber, SSHORT);
static SSHORT lock_buffer(thread_db*, BufferDesc*, SSHORT, SCHAR); static SSHORT lock_buffer(thread_db*, BufferDesc*, SSHORT, SCHAR);
static ULONG memory_init(thread_db*, BufferControl*, ULONG); static ULONG memory_init(thread_db*, BufferControl*, SLONG);
static void page_validation_error(thread_db*, win*, SSHORT); static void page_validation_error(thread_db*, win*, SSHORT);
#ifdef CACHE_READER #ifdef CACHE_READER
static void prefetch_epilogue(Prefetch*, ISC_STATUS *); static void prefetch_epilogue(Prefetch*, ISC_STATUS *);
@ -1661,7 +1661,7 @@ void CCH_init(thread_db* tdbb, ULONG number)
/* initialization of memory is system-specific */ /* initialization of memory is system-specific */
bcb->bcb_count = memory_init(tdbb, bcb, number); bcb->bcb_count = memory_init(tdbb, bcb, static_cast<SLONG>(number));
bcb->bcb_free_minimum = (SSHORT) MIN(bcb->bcb_count / 4, 128); bcb->bcb_free_minimum = (SSHORT) MIN(bcb->bcb_count / 4, 128);
if (bcb->bcb_count < MIN_PAGE_BUFFERS) { if (bcb->bcb_count < MIN_PAGE_BUFFERS) {
@ -5285,7 +5285,7 @@ static SSHORT lock_buffer(
} }
static ULONG memory_init(thread_db* tdbb, BufferControl* bcb, ULONG number) static ULONG memory_init(thread_db* tdbb, BufferControl* bcb, SLONG number)
{ {
/************************************** /**************************************
* *

View File

@ -2571,7 +2571,8 @@ static void modify_lfield_index(thread_db* tdbb,
/* Set the index name to itself to tell the index to rebuild */ /* Set the index name to itself to tell the index to rebuild */
MODIFY IDX USING MODIFY IDX USING
MOVE_FASTER(IDX.RDB$INDEX_NAME, IDX.RDB$INDEX_NAME, Firebird::MetaName iName(IDX.RDB$INDEX_NAME);
MOVE_FASTER(iName.c_str(), IDX.RDB$INDEX_NAME,
sizeof(IDX.RDB$INDEX_NAME)); sizeof(IDX.RDB$INDEX_NAME));
END_MODIFY; END_MODIFY;
END_FOR; END_FOR;

View File

@ -1616,11 +1616,12 @@ int API_ROUTINE gds__msg_open(void** handle, const TEXT* filename)
close(n); close(n);
return -3; return -3;
} }
// Trick to silence compiler when MSG_MINOR_VERSION == 0
const USHORT minor = MSG_MINOR_VERSION;
if (header.msghdr_major_version != MSG_MAJOR_VERSION || if (header.msghdr_major_version != MSG_MAJOR_VERSION
header.msghdr_minor_version < minor) #if FB_MSG_MINOR_VERSION > 0
|| header.msghdr_minor_version < MSG_MINOR_VERSION
#endif
)
{ {
close(n); close(n);
return -4; return -4;

View File

@ -106,44 +106,44 @@ END_CHARSET
CHARSET("DOS437", CS_DOS_437, 0, 1, 256, CS_dos_437, DOS101_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS437", CS_DOS_437, 0, 1, 256, CS_dos_437, DOS101_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("DOS_437", CS_DOS_437) CSALIAS("DOS_437", CS_DOS_437)
/* V3 SUB_TYPE 101 */ /* V3 SUB_TYPE 101 */
COLLATION("PDOX_ASCII", NULL, CC_ASCII, CS_DOS_437, 1, DOS101_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_ASCII", 0, CC_ASCII, CS_DOS_437, 1, DOS101_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 102 */ /* V3 SUB_TYPE 102 */
COLLATION("PDOX_INTL", NULL, CC_INTL, CS_DOS_437, 2, DOS102_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_INTL", 0, CC_INTL, CS_DOS_437, 2, DOS102_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 106 */ /* V3 SUB_TYPE 106 */
COLLATION("PDOX_SWEDFIN", NULL, CC_SWEDFIN, CS_DOS_437, 3, DOS106_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_SWEDFIN", 0, CC_SWEDFIN, CS_DOS_437, 3, DOS106_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_DEU437", NULL, CC_GERMANY, CS_DOS_437, 4, DOS101_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_DEU437", 0, CC_GERMANY, CS_DOS_437, 4, DOS101_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_ESP437", NULL, CC_SPAIN, CS_DOS_437, 5, DOS101_c3_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_ESP437", 0, CC_SPAIN, CS_DOS_437, 5, DOS101_c3_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_FIN437", NULL, CC_FINLAND, CS_DOS_437, 6, DOS101_c4_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_FIN437", 0, CC_FINLAND, CS_DOS_437, 6, DOS101_c4_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_FRA437", NULL, CC_FRANCE, CS_DOS_437, 7, DOS101_c5_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_FRA437", 0, CC_FRANCE, CS_DOS_437, 7, DOS101_c5_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_ITA437", NULL, CC_ITALY, CS_DOS_437, 8, DOS101_c6_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_ITA437", 0, CC_ITALY, CS_DOS_437, 8, DOS101_c6_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_NLD437", NULL, CC_NEDERLANDS, CS_DOS_437, 9, DOS101_c7_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_NLD437", 0, CC_NEDERLANDS, CS_DOS_437, 9, DOS101_c7_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_SVE437", NULL, CC_SWEDEN, CS_DOS_437, 10, DOS101_c8_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_SVE437", 0, CC_SWEDEN, CS_DOS_437, 10, DOS101_c8_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_UK437", NULL, CC_UK, CS_DOS_437, 11, DOS101_c9_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_UK437", 0, CC_UK, CS_DOS_437, 11, DOS101_c9_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_US437", NULL, CC_US, CS_DOS_437, 12, DOS101_c10_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_US437", 0, CC_US, CS_DOS_437, 12, DOS101_c10_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
/* V3 SUB_TYPE 160 */ /* V3 SUB_TYPE 160 */
CHARSET("DOS850", CS_DOS_850, 0, 1, 256, CS_dos_850, DOS160_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS850", CS_DOS_850, 0, 1, 256, CS_dos_850, DOS160_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("DOS_850", CS_DOS_850) CSALIAS("DOS_850", CS_DOS_850)
COLLATION("DB_FRC850", NULL, CC_FRENCHCAN, CS_DOS_850, 1, DOS160_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_FRC850", 0, CC_FRENCHCAN, CS_DOS_850, 1, DOS160_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_DEU850", NULL, CC_GERMANY, CS_DOS_850, 2, DOS160_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_DEU850", 0, CC_GERMANY, CS_DOS_850, 2, DOS160_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_ESP850", NULL, CC_SPAIN, CS_DOS_850, 3, DOS160_c3_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_ESP850", 0, CC_SPAIN, CS_DOS_850, 3, DOS160_c3_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_FRA850", NULL, CC_FRANCE, CS_DOS_850, 4, DOS160_c4_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_FRA850", 0, CC_FRANCE, CS_DOS_850, 4, DOS160_c4_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_ITA850", NULL, CC_ITALY, CS_DOS_850, 5, DOS160_c5_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_ITA850", 0, CC_ITALY, CS_DOS_850, 5, DOS160_c5_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_NLD850", NULL, CC_NEDERLANDS, CS_DOS_850, 6, DOS160_c6_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_NLD850", 0, CC_NEDERLANDS, CS_DOS_850, 6, DOS160_c6_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_PTB850", NULL, CC_PORTUGAL, CS_DOS_850, 7, DOS160_c7_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_PTB850", 0, CC_PORTUGAL, CS_DOS_850, 7, DOS160_c7_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_SVE850", NULL, CC_SWEDEN, CS_DOS_850, 8, DOS160_c8_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_SVE850", 0, CC_SWEDEN, CS_DOS_850, 8, DOS160_c8_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_UK850", NULL, CC_UK, CS_DOS_850, 9, DOS160_c9_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_UK850", 0, CC_UK, CS_DOS_850, 9, DOS160_c9_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_US850", NULL, CC_US, CS_DOS_850, 10, DOS160_c10_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_US850", 0, CC_US, CS_DOS_850, 10, DOS160_c10_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
/* V3 SUB_TYPE 107 */ /* V3 SUB_TYPE 107 */
CHARSET("DOS865", CS_DOS_865, 0, 1, 256, CS_dos_865, DOS107_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS865", CS_DOS_865, 0, 1, 256, CS_dos_865, DOS107_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("DOS_865", CS_DOS_865) CSALIAS("DOS_865", CS_DOS_865)
/* V3 SUB_TYPE 105 */ /* V3 SUB_TYPE 105 */
COLLATION("PDOX_NORDAN4", NULL, CC_NORDAN, CS_DOS_865, 1, DOS107_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_NORDAN4", 0, CC_NORDAN, CS_DOS_865, 1, DOS107_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_DAN865", NULL, CC_DENMARK, CS_DOS_865, 2, DOS107_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_DAN865", 0, CC_DENMARK, CS_DOS_865, 2, DOS107_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_NOR865", NULL, CC_NORWAY, CS_DOS_865, 3, DOS107_c3_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_NOR865", 0, CC_NORWAY, CS_DOS_865, 3, DOS107_c3_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("ISO8859_1", CS_ISO8859_1, 0, 1, 256, CS_iso_ISO8859_1, ISO88591_cp_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("ISO8859_1", CS_ISO8859_1, 0, 1, 256, CS_iso_ISO8859_1, ISO88591_cp_init, TEXTTYPE_ATTR_PAD_SPACE)
@ -152,37 +152,37 @@ CHARSET("ISO8859_1", CS_ISO8859_1, 0, 1, 256, CS_iso_ISO8859_1, ISO88591_cp_init
CSALIAS("LATIN1", CS_ISO8859_1) CSALIAS("LATIN1", CS_ISO8859_1)
CSALIAS("ANSI", CS_ISO8859_1) CSALIAS("ANSI", CS_ISO8859_1)
/* V3 SUB_TYPE 139 */ /* V3 SUB_TYPE 139 */
COLLATION("DA_DA", NULL, CC_DENMARK, CS_ISO8859_1, 1, ISO88591_39_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DA_DA", 0, CC_DENMARK, CS_ISO8859_1, 1, ISO88591_39_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 140 */ /* V3 SUB_TYPE 140 */
COLLATION("DU_NL", NULL, CC_NEDERLANDS, CS_ISO8859_1, 2, ISO88591_40_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DU_NL", 0, CC_NEDERLANDS, CS_ISO8859_1, 2, ISO88591_40_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 141 */ /* V3 SUB_TYPE 141 */
COLLATION("FI_FI", NULL, CC_FINLAND, CS_ISO8859_1, 3, ISO88591_41_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("FI_FI", 0, CC_FINLAND, CS_ISO8859_1, 3, ISO88591_41_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 142 */ /* V3 SUB_TYPE 142 */
COLLATION("FR_FR", NULL, CC_FRANCE, CS_ISO8859_1, 4, ISO88591_42_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("FR_FR", 0, CC_FRANCE, CS_ISO8859_1, 4, ISO88591_42_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 143 */ /* V3 SUB_TYPE 143 */
COLLATION("FR_CA", NULL, CC_FRENCHCAN, CS_ISO8859_1, 5, ISO88591_43_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("FR_CA", 0, CC_FRENCHCAN, CS_ISO8859_1, 5, ISO88591_43_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 144 */ /* V3 SUB_TYPE 144 */
COLLATION("DE_DE", NULL, CC_GERMANY, CS_ISO8859_1, 6, ISO88591_44_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DE_DE", 0, CC_GERMANY, CS_ISO8859_1, 6, ISO88591_44_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 145 */ /* V3 SUB_TYPE 145 */
COLLATION("IS_IS", NULL, CC_ICELAND, CS_ISO8859_1, 7, ISO88591_45_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("IS_IS", 0, CC_ICELAND, CS_ISO8859_1, 7, ISO88591_45_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 146 */ /* V3 SUB_TYPE 146 */
COLLATION("IT_IT", NULL, CC_ITALY, CS_ISO8859_1, 8, ISO88591_46_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("IT_IT", 0, CC_ITALY, CS_ISO8859_1, 8, ISO88591_46_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 148 */ /* V3 SUB_TYPE 148 */
COLLATION("NO_NO", NULL, CC_NORWAY, CS_ISO8859_1, 9, ISO88591_48_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("NO_NO", 0, CC_NORWAY, CS_ISO8859_1, 9, ISO88591_48_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 149 */ /* V3 SUB_TYPE 149 */
COLLATION("ES_ES", NULL, CC_SPAIN, CS_ISO8859_1, 10, ISO88591_49_init, TEXTTYPE_ATTR_PAD_SPACE, "DISABLE-COMPRESSIONS=1;SPECIALS-FIRST=1") COLLATION("ES_ES", 0, CC_SPAIN, CS_ISO8859_1, 10, ISO88591_49_init, TEXTTYPE_ATTR_PAD_SPACE, "DISABLE-COMPRESSIONS=1;SPECIALS-FIRST=1")
/* V3 SUB_TYPE 151 */ /* V3 SUB_TYPE 151 */
COLLATION("SV_SV", NULL, CC_SWEDEN, CS_ISO8859_1, 11, ISO88591_51_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("SV_SV", 0, CC_SWEDEN, CS_ISO8859_1, 11, ISO88591_51_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 152 */ /* V3 SUB_TYPE 152 */
COLLATION("EN_UK", NULL, CC_UK, CS_ISO8859_1, 12, ISO88591_52_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("EN_UK", 0, CC_UK, CS_ISO8859_1, 12, ISO88591_52_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 153 */ /* V3 SUB_TYPE 153 */
COLLATION("EN_US", NULL, CC_US, CS_ISO8859_1, 14, ISO88591_53_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("EN_US", 0, CC_US, CS_ISO8859_1, 14, ISO88591_53_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 154 */ /* V3 SUB_TYPE 154 */
COLLATION("PT_PT", NULL, CC_PORTUGAL, CS_ISO8859_1, 15, ISO88591_54_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PT_PT", 0, CC_PORTUGAL, CS_ISO8859_1, 15, ISO88591_54_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 155 */ /* V3 SUB_TYPE 155 */
COLLATION("PT_BR", NULL, CC_BRAZIL, CS_ISO8859_1, 16, ISO88591_55_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE | TEXTTYPE_ATTR_ACCENT_INSENSITIVE, NULL) COLLATION("PT_BR", 0, CC_BRAZIL, CS_ISO8859_1, 16, ISO88591_55_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE | TEXTTYPE_ATTR_ACCENT_INSENSITIVE, 0)
/* V3 SUB_TYPE 156 */ /* V3 SUB_TYPE 156 */
COLLATION("ES_ES_CI_AI", NULL, CC_SPAIN, CS_ISO8859_1, 17, ISO88591_56_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE | TEXTTYPE_ATTR_ACCENT_INSENSITIVE, "DISABLE-COMPRESSIONS=1;SPECIALS-FIRST=1") COLLATION("ES_ES_CI_AI", 0, CC_SPAIN, CS_ISO8859_1, 17, ISO88591_56_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE | TEXTTYPE_ATTR_ACCENT_INSENSITIVE, "DISABLE-COMPRESSIONS=1;SPECIALS-FIRST=1")
END_CHARSET END_CHARSET
CHARSET("ISO8859_2", CS_ISO8859_2, 0, 1, 256, CS_iso_ISO8859_2, ISO88592_cp_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("ISO8859_2", CS_ISO8859_2, 0, 1, 256, CS_iso_ISO8859_2, ISO88592_cp_init, TEXTTYPE_ATTR_PAD_SPACE)
@ -191,11 +191,11 @@ CHARSET("ISO8859_2", CS_ISO8859_2, 0, 1, 256, CS_iso_ISO8859_2, ISO88592_cp_init
CSALIAS("LATIN2", CS_ISO8859_2) CSALIAS("LATIN2", CS_ISO8859_2)
CSALIAS("ISO-8859-2", CS_ISO8859_2) /* Prefered MIME name */ CSALIAS("ISO-8859-2", CS_ISO8859_2) /* Prefered MIME name */
/* Czech national collation */ /* Czech national collation */
COLLATION("CS_CZ", NULL, CC_CZECH, CS_ISO8859_2, 1, ISO88592_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("CS_CZ", 0, CC_CZECH, CS_ISO8859_2, 1, ISO88592_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* Hungarian collation aligned with PXW_HUN */ /* Hungarian collation aligned with PXW_HUN */
COLLATION("ISO_HUN", NULL, CC_HUNGARY, CS_ISO8859_2, 2, ISO88592_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("ISO_HUN", 0, CC_HUNGARY, CS_ISO8859_2, 2, ISO88592_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* Polish national collation */ /* Polish national collation */
COLLATION("ISO_PLK", NULL, CC_POLAND, CS_ISO8859_2, 3, ISO88592_c3_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("ISO_PLK", 0, CC_POLAND, CS_ISO8859_2, 3, ISO88592_c3_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("ISO8859_3", CS_ISO8859_3, 0, 1, 256, CS_iso_ISO8859_3, ISO88593_cp_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("ISO8859_3", CS_ISO8859_3, 0, 1, 256, CS_iso_ISO8859_3, ISO88593_cp_init, TEXTTYPE_ATTR_PAD_SPACE)
@ -249,43 +249,43 @@ CHARSET("ISO8859_13", CS_ISO8859_13, 0, 1, 256, CS_iso_ISO8859_13, ISO885913_cp_
CSALIAS("LATIN7", CS_ISO8859_13) CSALIAS("LATIN7", CS_ISO8859_13)
CSALIAS("ISO-8859-13", CS_ISO8859_13) /* Prefered MIME name */ CSALIAS("ISO-8859-13", CS_ISO8859_13) /* Prefered MIME name */
/* Lithuanian national collation */ /* Lithuanian national collation */
COLLATION("LT_LT", NULL, CC_LITHUANIA, CS_ISO8859_13, 1, ISO885913_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("LT_LT", 0, CC_LITHUANIA, CS_ISO8859_13, 1, ISO885913_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("DOS852", CS_DOS_852, 0, 1, 256, CS_dos_852, DOS852_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS852", CS_DOS_852, 0, 1, 256, CS_dos_852, DOS852_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("DOS_852", CS_DOS_852) CSALIAS("DOS_852", CS_DOS_852)
COLLATION("DB_CSY", NULL, CC_CZECH, CS_DOS_852, 1, DOS852_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_CSY", 0, CC_CZECH, CS_DOS_852, 1, DOS852_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_PLK", NULL, CC_POLAND, CS_DOS_852, 2, DOS852_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_PLK", 0, CC_POLAND, CS_DOS_852, 2, DOS852_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("DB_SLO", NULL, CC_YUGOSLAVIA, CS_DOS_852, 4, DOS852_c4_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_SLO", 0, CC_YUGOSLAVIA, CS_DOS_852, 4, DOS852_c4_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PDOX_CSY", NULL, CC_CZECH, CS_DOS_852, 5, DOS852_c5_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_CSY", 0, CC_CZECH, CS_DOS_852, 5, DOS852_c5_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PDOX_PLK", NULL, CC_POLAND, CS_DOS_852, 6, DOS852_c6_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_PLK", 0, CC_POLAND, CS_DOS_852, 6, DOS852_c6_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PDOX_HUN", NULL, CC_HUNGARY, CS_DOS_852, 7, DOS852_c7_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_HUN", 0, CC_HUNGARY, CS_DOS_852, 7, DOS852_c7_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PDOX_SLO", NULL, CC_YUGOSLAVIA, CS_DOS_852, 8, DOS852_c8_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_SLO", 0, CC_YUGOSLAVIA, CS_DOS_852, 8, DOS852_c8_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("DOS857", CS_DOS_857, 0, 1, 256, CS_dos_857, DOS857_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS857", CS_DOS_857, 0, 1, 256, CS_dos_857, DOS857_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("DOS_857", CS_DOS_857) CSALIAS("DOS_857", CS_DOS_857)
COLLATION("DB_TRK", NULL, CC_TURKEY, CS_DOS_857, 1, DOS857_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_TRK", 0, CC_TURKEY, CS_DOS_857, 1, DOS857_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("DOS860", CS_DOS_860, 0, 1, 256, CS_dos_860, DOS860_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS860", CS_DOS_860, 0, 1, 256, CS_dos_860, DOS860_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("DOS_860", CS_DOS_860) CSALIAS("DOS_860", CS_DOS_860)
COLLATION("DB_PTG860", NULL, CC_PORTUGAL, CS_DOS_860, 1, DOS860_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_PTG860", 0, CC_PORTUGAL, CS_DOS_860, 1, DOS860_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("DOS861", CS_DOS_861, 0, 1, 256, CS_dos_861, DOS861_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS861", CS_DOS_861, 0, 1, 256, CS_dos_861, DOS861_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("DOS_861", CS_DOS_861) CSALIAS("DOS_861", CS_DOS_861)
COLLATION("PDOX_ISL", NULL, CC_ICELAND, CS_DOS_861, 1, DOS861_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_ISL", 0, CC_ICELAND, CS_DOS_861, 1, DOS861_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("DOS863", CS_DOS_863, 0, 1, 256, CS_dos_863, DOS863_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS863", CS_DOS_863, 0, 1, 256, CS_dos_863, DOS863_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("DOS_863", CS_DOS_863) CSALIAS("DOS_863", CS_DOS_863)
COLLATION("DB_FRC863", NULL, CC_FRENCHCAN, CS_DOS_863, 1, DOS863_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_FRC863", 0, CC_FRENCHCAN, CS_DOS_863, 1, DOS863_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("CYRL", CS_CYRL, 0, 1, 256, CS_cyrl, CYRL_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("CYRL", CS_CYRL, 0, 1, 256, CS_cyrl, CYRL_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
COLLATION("DB_RUS", NULL, CC_RUSSIA, CS_CYRL, 1, CYRL_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("DB_RUS", 0, CC_RUSSIA, CS_CYRL, 1, CYRL_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PDOX_CYRL", NULL, CC_RUSSIA, CS_CYRL, 2, CYRL_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PDOX_CYRL", 0, CC_RUSSIA, CS_CYRL, 2, CYRL_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("DOS737", CS_DOS_737, 0, 1, 256, CS_dos_737, DOS737_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("DOS737", CS_DOS_737, 0, 1, 256, CS_dos_737, DOS737_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
@ -318,53 +318,53 @@ END_CHARSET
CHARSET("WIN1250", CS_WIN1250, 0, 1, 256, CS_win1250, WIN1250_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("WIN1250", CS_WIN1250, 0, 1, 256, CS_win1250, WIN1250_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("WIN_1250", CS_WIN1250) CSALIAS("WIN_1250", CS_WIN1250)
COLLATION("PXW_CSY", NULL, CC_CZECH, CS_WIN1250, 1, WIN1250_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_CSY", 0, CC_CZECH, CS_WIN1250, 1, WIN1250_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PXW_HUNDC", NULL, CC_HUNGARY, CS_WIN1250, 2, WIN1250_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_HUNDC", 0, CC_HUNGARY, CS_WIN1250, 2, WIN1250_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PXW_PLK", NULL, CC_POLAND, CS_WIN1250, 3, WIN1250_c3_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_PLK", 0, CC_POLAND, CS_WIN1250, 3, WIN1250_c3_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PXW_SLOV", NULL, CC_YUGOSLAVIA, CS_WIN1250, 4, WIN1250_c4_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_SLOV", 0, CC_YUGOSLAVIA, CS_WIN1250, 4, WIN1250_c4_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PXW_HUN", NULL, CC_HUNGARY, CS_WIN1250, 5, WIN1250_c5_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_HUN", 0, CC_HUNGARY, CS_WIN1250, 5, WIN1250_c5_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("BS_BA", NULL, CC_YUGOSLAVIA, CS_WIN1250, 6, WIN1250_c6_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("BS_BA", 0, CC_YUGOSLAVIA, CS_WIN1250, 6, WIN1250_c6_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("WIN_CZ", NULL, CC_CZECH, CS_WIN1250, 7, WIN1250_c7_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE, NULL) COLLATION("WIN_CZ", 0, CC_CZECH, CS_WIN1250, 7, WIN1250_c7_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE, 0)
COLLATION("WIN_CZ_CI_AI", NULL, CC_CZECH, CS_WIN1250, 8, WIN1250_c8_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE | TEXTTYPE_ATTR_ACCENT_INSENSITIVE, NULL) COLLATION("WIN_CZ_CI_AI", 0, CC_CZECH, CS_WIN1250, 8, WIN1250_c8_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE | TEXTTYPE_ATTR_ACCENT_INSENSITIVE, 0)
END_CHARSET END_CHARSET
CHARSET("WIN1251", CS_WIN1251, 0, 1, 256, CS_win1251, WIN1251_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("WIN1251", CS_WIN1251, 0, 1, 256, CS_win1251, WIN1251_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("WIN_1251", CS_WIN1251) CSALIAS("WIN_1251", CS_WIN1251)
COLLATION("PXW_CYRL", NULL, CC_RUSSIA, CS_WIN1251, 1, WIN1251_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_CYRL", 0, CC_RUSSIA, CS_WIN1251, 1, WIN1251_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("WIN1251_UA", NULL, CC_RUSSIA, CS_WIN1251, 2, WIN1251_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("WIN1251_UA", 0, CC_RUSSIA, CS_WIN1251, 2, WIN1251_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("WIN1252", CS_WIN1252, 0, 1, 256, CS_win1252, WIN1252_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("WIN1252", CS_WIN1252, 0, 1, 256, CS_win1252, WIN1252_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("WIN_1252", CS_WIN1252) CSALIAS("WIN_1252", CS_WIN1252)
COLLATION("PXW_INTL", NULL, CC_INTL, CS_WIN1252, 1, WIN1252_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_INTL", 0, CC_INTL, CS_WIN1252, 1, WIN1252_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PXW_INTL850", NULL, CC_INTL, CS_WIN1252, 2, WIN1252_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_INTL850", 0, CC_INTL, CS_WIN1252, 2, WIN1252_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PXW_NORDAN4", NULL, CC_NORDAN, CS_WIN1252, 3, WIN1252_c3_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_NORDAN4", 0, CC_NORDAN, CS_WIN1252, 3, WIN1252_c3_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PXW_SPAN", NULL, CC_SPAIN, CS_WIN1252, 4, WIN1252_c4_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_SPAN", 0, CC_SPAIN, CS_WIN1252, 4, WIN1252_c4_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("PXW_SWEDFIN", NULL, CC_SWEDFIN, CS_WIN1252, 5, WIN1252_c5_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_SWEDFIN", 0, CC_SWEDFIN, CS_WIN1252, 5, WIN1252_c5_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("WIN_PTBR", NULL, CC_BRAZIL, CS_WIN1252, 6, WIN1252_c6_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE | TEXTTYPE_ATTR_ACCENT_INSENSITIVE, NULL) COLLATION("WIN_PTBR", 0, CC_BRAZIL, CS_WIN1252, 6, WIN1252_c6_init, TEXTTYPE_ATTR_PAD_SPACE | TEXTTYPE_ATTR_CASE_INSENSITIVE | TEXTTYPE_ATTR_ACCENT_INSENSITIVE, 0)
END_CHARSET END_CHARSET
CHARSET("WIN1253", CS_WIN1253, 0, 1, 256, CS_win1253, WIN1253_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("WIN1253", CS_WIN1253, 0, 1, 256, CS_win1253, WIN1253_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("WIN_1253", CS_WIN1253) CSALIAS("WIN_1253", CS_WIN1253)
COLLATION("PXW_GREEK", NULL, CC_GREECE, CS_WIN1253, 1, WIN1253_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_GREEK", 0, CC_GREECE, CS_WIN1253, 1, WIN1253_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("WIN1254", CS_WIN1254, 0, 1, 256, CS_win1254, WIN1254_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("WIN1254", CS_WIN1254, 0, 1, 256, CS_win1254, WIN1254_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("WIN_1254", CS_WIN1254) CSALIAS("WIN_1254", CS_WIN1254)
COLLATION("PXW_TURK", NULL, CC_TURKEY, CS_WIN1254, 1, WIN1254_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("PXW_TURK", 0, CC_TURKEY, CS_WIN1254, 1, WIN1254_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("NEXT", CS_NEXT, 0, 1, 256, CS_next, NEXT_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("NEXT", CS_NEXT, 0, 1, 256, CS_next, NEXT_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
/* V3 SUB_TYPE 180 */ /* V3 SUB_TYPE 180 */
COLLATION("NXT_US", NULL, CC_US, CS_NEXT, 1, NEXT_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("NXT_US", 0, CC_US, CS_NEXT, 1, NEXT_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 181 */ /* V3 SUB_TYPE 181 */
COLLATION("NXT_DEU", NULL, CC_GERMANY, CS_NEXT, 2, NEXT_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("NXT_DEU", 0, CC_GERMANY, CS_NEXT, 2, NEXT_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 182 */ /* V3 SUB_TYPE 182 */
COLLATION("NXT_FRA", NULL, CC_FRANCE, CS_NEXT, 3, NEXT_c3_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("NXT_FRA", 0, CC_FRANCE, CS_NEXT, 3, NEXT_c3_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 183 */ /* V3 SUB_TYPE 183 */
COLLATION("NXT_ITA", NULL, CC_ITALY, CS_NEXT, 4, NEXT_c4_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("NXT_ITA", 0, CC_ITALY, CS_NEXT, 4, NEXT_c4_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
/* V3 SUB_TYPE 184 */ /* V3 SUB_TYPE 184 */
COLLATION("NXT_ESP", NULL, CC_SPAIN, CS_NEXT, 5, NEXT_c0_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("NXT_ESP", 0, CC_SPAIN, CS_NEXT, 5, NEXT_c0_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("WIN1255", CS_WIN1255, 0, 1, 256, CS_win1255, WIN1255_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("WIN1255", CS_WIN1255, 0, 1, 256, CS_win1255, WIN1255_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
@ -377,16 +377,16 @@ END_CHARSET
CHARSET("WIN1257", CS_WIN1257, 0, 1, 256, CS_win1257, WIN1257_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("WIN1257", CS_WIN1257, 0, 1, 256, CS_win1257, WIN1257_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("WIN_1257", CS_WIN1257) CSALIAS("WIN_1257", CS_WIN1257)
COLLATION("WIN1257_EE", NULL, CC_INTL, CS_WIN1257, 1, WIN1257_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("WIN1257_EE", 0, CC_INTL, CS_WIN1257, 1, WIN1257_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("WIN1257_LT", NULL, CC_INTL, CS_WIN1257, 2, WIN1257_c2_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("WIN1257_LT", 0, CC_INTL, CS_WIN1257, 2, WIN1257_c2_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
COLLATION("WIN1257_LV", NULL, CC_INTL, CS_WIN1257, 3, WIN1257_c3_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("WIN1257_LV", 0, CC_INTL, CS_WIN1257, 3, WIN1257_c3_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("KSC_5601", CS_KSC5601, 0, 2, 4888, CS_ksc_5601, KSC_5601_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("KSC_5601", CS_KSC5601, 0, 2, 4888, CS_ksc_5601, KSC_5601_init, TEXTTYPE_ATTR_PAD_SPACE)
CSALIAS("KSC5601", CS_KSC5601) CSALIAS("KSC5601", CS_KSC5601)
CSALIAS("DOS_949", CS_KSC5601) CSALIAS("DOS_949", CS_KSC5601)
CSALIAS("WIN_949", CS_KSC5601) CSALIAS("WIN_949", CS_KSC5601)
COLLATION("KSC_DICTIONARY", NULL, CC_KOREA, CS_KSC5601, 1, ksc_5601_dict_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("KSC_DICTIONARY", 0, CC_KOREA, CS_KSC5601, 1, ksc_5601_dict_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("BIG_5", CS_BIG5, 0, 2, 13481, CS_big_5, BIG5_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("BIG_5", CS_BIG5, 0, 2, 13481, CS_big_5, BIG5_init, TEXTTYPE_ATTR_PAD_SPACE)
@ -402,20 +402,20 @@ CHARSET("GB_2312", CS_GB2312, 0, 2, 6763, CS_gb_2312, GB_2312_init, TEXTTYPE_ATT
END_CHARSET END_CHARSET
CHARSET("KOI8R", CS_KOI8R, 0, 1, 256, CS_koi8r, KOI8R_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("KOI8R", CS_KOI8R, 0, 1, 256, CS_koi8r, KOI8R_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
COLLATION("KOI8R_RU", NULL, CC_RUSSIA, CS_KOI8R, 1, KOI8R_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("KOI8R_RU", 0, CC_RUSSIA, CS_KOI8R, 1, KOI8R_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("KOI8U", CS_KOI8U, 0, 1, 256, CS_koi8u, KOI8U_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("KOI8U", CS_KOI8U, 0, 1, 256, CS_koi8u, KOI8U_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
COLLATION("KOI8U_UA", NULL, CC_INTL, CS_KOI8U, 1, KOI8U_c1_init, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("KOI8U_UA", 0, CC_INTL, CS_KOI8U, 1, KOI8U_c1_init, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("WIN1258", CS_WIN1258, 0, 1, 256, CS_win1258, WIN1258_c0_init, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("WIN1258", CS_WIN1258, 0, 1, 256, CS_win1258, WIN1258_c0_init, TEXTTYPE_ATTR_PAD_SPACE)
END_CHARSET END_CHARSET
CHARSET("TIS620", CS_TIS620, 0, 1, 256, NULL, NULL, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("TIS620", CS_TIS620, 0, 1, 256, NULL, NULL, TEXTTYPE_ATTR_PAD_SPACE)
COLLATION("TIS620_UNICODE", NULL, CC_INTL, CS_TIS620, 1, NULL, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("TIS620_UNICODE", 0, CC_INTL, CS_TIS620, 1, NULL, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET
CHARSET("GBK", CS_GBK, 0, 2, 21688, NULL, NULL, TEXTTYPE_ATTR_PAD_SPACE) CHARSET("GBK", CS_GBK, 0, 2, 21688, NULL, NULL, TEXTTYPE_ATTR_PAD_SPACE)
COLLATION("GBK_UNICODE", NULL, CC_INTL, CS_GBK, 1, NULL, TEXTTYPE_ATTR_PAD_SPACE, NULL) COLLATION("GBK_UNICODE", 0, CC_INTL, CS_GBK, 1, NULL, TEXTTYPE_ATTR_PAD_SPACE, 0)
END_CHARSET END_CHARSET

View File

@ -21,7 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: msg.h,v 1.8 2005-05-27 22:44:02 asfernandes Exp $ $Id: msg.h,v 1.9 2007-04-11 16:05:15 alexpeshkoff Exp $
*/ */
#ifndef JRD_MSG_H #ifndef JRD_MSG_H
@ -30,7 +30,9 @@ $Id: msg.h,v 1.8 2005-05-27 22:44:02 asfernandes Exp $
#define MSG_NUMBER(facility, code) ((SLONG) facility * 10000 + code) #define MSG_NUMBER(facility, code) ((SLONG) facility * 10000 + code)
const USHORT MSG_BUCKET = 1024; const USHORT MSG_BUCKET = 1024;
const UCHAR MSG_MAJOR_VERSION = 1; const UCHAR MSG_MAJOR_VERSION = 1;
const UCHAR MSG_MINOR_VERSION = 0; // trick to silence the compiler when FB_MSG_MINOR_VERSION is 0
#define FB_MSG_MINOR_VERSION 0
const UCHAR MSG_MINOR_VERSION = FB_MSG_MINOR_VERSION;
/* Message file header block */ /* Message file header block */

View File

@ -2205,7 +2205,7 @@ USHORT PageManager::getTempPageSpaceID(thread_db* tdbb)
while (true) while (true)
{ {
const double tmp = rand() * (MAX_USHORT - TEMP_PAGE_SPACE - 1.0) / (RAND_MAX + 1.0); const double tmp = rand() * (MAX_USHORT - TEMP_PAGE_SPACE - 1.0) / (RAND_MAX + 1.0);
lock->lck_key.lck_long = tmp + TEMP_PAGE_SPACE + 1; lock->lck_key.lck_long = static_cast<SLONG>(tmp) + TEMP_PAGE_SPACE + 1;
if (LCK_lock(tdbb, lock, LCK_write, LCK_NO_WAIT)) if (LCK_lock(tdbb, lock, LCK_write, LCK_NO_WAIT))
break; break;
} }

View File

@ -21,7 +21,7 @@
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
/* /*
$Id: gener.cpp,v 1.37 2005-05-27 22:44:54 asfernandes Exp $ $Id: gener.cpp,v 1.38 2007-04-11 16:05:25 alexpeshkoff Exp $
*/ */
#include "firebird.h" #include "firebird.h"
@ -140,7 +140,7 @@ qli_rlb* GEN_rlb_extend(qli_rlb* rlb)
rlb = (qli_rlb*) ALLOCD(type_rlb); rlb = (qli_rlb*) ALLOCD(type_rlb);
const UCHAR* old_string = rlb->rlb_base; const UCHAR* old_string = rlb->rlb_base;
const ULONG l = (UCHAR *) rlb->rlb_data - (UCHAR *) rlb->rlb_base; const ULONG l = rlb->rlb_data - rlb->rlb_base;
rlb->rlb_length += RLB_BUFFER_SIZE; rlb->rlb_length += RLB_BUFFER_SIZE;
UCHAR* new_string = (UCHAR*) ALLQ_malloc((SLONG) rlb->rlb_length); UCHAR* new_string = (UCHAR*) ALLQ_malloc((SLONG) rlb->rlb_length);
if (old_string) { if (old_string) {

View File

@ -1875,7 +1875,7 @@ static void blob_copy( qli_rlb* rlb, qli_rel* source, ISC_QUAD& source_blob_id)
size_t length; size_t length;
while (source_blob.getSegment(buffer_length, buffer, length) && !source_blob.getCode()) while (source_blob.getSegment(buffer_length, buffer, length) && !source_blob.getCode())
{ {
while (rlb->rlb_limit - rlb->rlb_data < length) while (rlb->rlb_data + length > rlb->rlb_limit)
rlb = GEN_rlb_extend(rlb); rlb = GEN_rlb_extend(rlb);
const TEXT* p = buffer; const TEXT* p = buffer;
while (length--) while (length--)

View File

@ -1673,7 +1673,7 @@ static bool_t xdr_sql_blr(
rem_port* port = (rem_port*) xdrs->x_public; rem_port* port = (rem_port*) xdrs->x_public;
RSR statement; RSR statement;
if (statement_id >= 0) { if (statement_id >= 0) {
if (statement_id >= port->port_object_vector->vec_count) if (static_cast<ULONG>(statement_id) >= port->port_object_vector->vec_count)
return FALSE; return FALSE;
if (!(statement = (RSR) port->port_objects[statement_id])) if (!(statement = (RSR) port->port_objects[statement_id]))
return FALSE; return FALSE;
@ -1765,7 +1765,7 @@ static bool_t xdr_sql_message( XDR* xdrs, SLONG statement_id)
rem_port* port = (rem_port*) xdrs->x_public; rem_port* port = (rem_port*) xdrs->x_public;
if (statement_id >= 0) { if (statement_id >= 0) {
if (statement_id >= port->port_object_vector->vec_count) if (static_cast<ULONG>(statement_id) >= port->port_object_vector->vec_count)
return FALSE; return FALSE;
statement = (RSR) port->port_objects[statement_id]; statement = (RSR) port->port_objects[statement_id];
} }

View File

@ -2825,7 +2825,7 @@ ISC_STATUS rem_port::info(P_OP op, P_INFO * stuff, PACKET* sendL)
#endif #endif
SCHAR info[1024], *info_buffer; SCHAR info[1024], *info_buffer;
SSHORT info_len; USHORT info_len;
UCHAR temp[1024]; UCHAR temp[1024];
UCHAR* temp_buffer; UCHAR* temp_buffer;
temp_buffer = temp; temp_buffer = temp;
@ -3248,7 +3248,7 @@ ISC_STATUS rem_port::prepare_statement(P_SQLST * prepareL, PACKET* sendL)
buffer = local_buffer; buffer = local_buffer;
// stuff isc_info_length in front of info items buffer // stuff isc_info_length in front of info items buffer
if (prepareL->p_sqlst_items.cstr_length + 1 > sizeof(info_buffer)) { if (prepareL->p_sqlst_items.cstr_length + 1u > sizeof(info_buffer)) {
info = ALLR_alloc((SLONG) prepareL->p_sqlst_items.cstr_length + 1); info = ALLR_alloc((SLONG) prepareL->p_sqlst_items.cstr_length + 1);
} }
else { else {

View File

@ -1228,7 +1228,7 @@ static void analyze_index( dba_rel* relation, dba_idx* index)
bool firstLeafNode = true; bool firstLeafNode = true;
SLONG number; SLONG number;
SLONG duplicates = 0; ULONG duplicates = 0;
// AB: In fact length for KEY should be MAX_KEY (1/4 of used page-size) // AB: In fact length for KEY should be MAX_KEY (1/4 of used page-size)
// This value should be kept equal with size declared in btr.h // This value should be kept equal with size declared in btr.h
//UCHAR key[4096]; //UCHAR key[4096];