Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 93546 Details for
Bug 120867
dev-db/firebird-1.5.2 fails with gcc-4.0
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch to fix compilation problems with gcc-4.1 on amd64
firebird-1.5-gcc4-amd64.patch (text/plain), 46.93 KB, created by
Karol Wojtaszek (RETIRED)
on 2006-08-05 15:44:32 UTC
(
hide
)
Description:
patch to fix compilation problems with gcc-4.1 on amd64
Filename:
MIME Type:
Creator:
Karol Wojtaszek (RETIRED)
Created:
2006-08-05 15:44:32 UTC
Size:
46.93 KB
patch
obsolete
>diff -Naur firebird-1.5.3.4870.old/src/alice/alice.cpp firebird-1.5.3.4870/src/alice/alice.cpp >--- firebird-1.5.3.4870.old/src/alice/alice.cpp 2006-08-06 06:47:26.000000000 +0200 >+++ firebird-1.5.3.4870/src/alice/alice.cpp 2006-08-06 07:59:27.000000000 +0200 >@@ -129,7 +129,7 @@ > ALICE_gfix( service->svc_argc, > service->svc_argv, > output_thread, >- (SLONG) service); >+ (SLONG)(IPTR) service); > > // Mark service thread as finished. > // If service is detached, cleanup memory being used by service. >diff -Naur firebird-1.5.3.4870.old/src/burp/burp.cpp firebird-1.5.3.4870/src/burp/burp.cpp >--- firebird-1.5.3.4870.old/src/burp/burp.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/burp/burp.cpp 2006-08-06 07:58:54.000000000 +0200 >@@ -181,7 +181,7 @@ > int exit_code; > > exit_code = BURP_gbak(service->svc_argc, service->svc_argv, >- output_netware, (SLONG) service); >+ output_netware, (SLONG) (IPTR) service); > > /* Mark service thread as finished. */ > /* If service is detached, cleanup memory being used by service. */ >diff -Naur firebird-1.5.3.4870.old/src/burp/canonical.cpp firebird-1.5.3.4870/src/burp/canonical.cpp >--- firebird-1.5.3.4870.old/src/burp/canonical.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/burp/canonical.cpp 2006-08-06 07:54:25.000000000 +0200 >@@ -502,7 +502,7 @@ > UCHAR *p; > SSHORT n; > >- p = buffer + (int) desc->dsc_address; >+ p = buffer + (int) (IPTR)desc->dsc_address; > > switch (desc->dsc_dtype) > { >diff -Naur firebird-1.5.3.4870.old/src/dsql/ddl.cpp firebird-1.5.3.4870/src/dsql/ddl.cpp >--- firebird-1.5.3.4870.old/src/dsql/ddl.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/dsql/ddl.cpp 2006-08-06 07:36:46.000000000 +0200 >@@ -1126,12 +1126,12 @@ > if (constant) > { > request->append_number(gds_dyn_trg_sequence, >- (SSHORT)(SLONG) (constant ? constant->nod_arg[0] : 0)); >+ (SSHORT)(SLONG)(IPTR) (constant ? constant->nod_arg[0] : 0)); > } > > if ((constant = node->nod_arg[e_cnstr_type]) != NULL) > { >- const SSHORT type = (SSHORT)(SLONG) constant->nod_arg[0]; >+ const SSHORT type = (SSHORT)(SLONG)(IPTR) constant->nod_arg[0]; > request->append_number(gds_dyn_trg_type, type); > } > >@@ -1270,7 +1270,7 @@ > > switch (element->nod_type) { > case nod_file_length: >- start = (SLONG) (element->nod_arg[0]) + 1; >+ start = (SLONG) (IPTR) (element->nod_arg[0]) + 1; > break; > > default: >@@ -1336,25 +1336,25 @@ > > case nod_group_commit_wait: > request->append_uchar(gds_dyn_log_group_commit_wait); >- temp_long = (SLONG) (element->nod_arg[0]); >+ temp_long = (SLONG) (IPTR) (element->nod_arg[0]); > request->append_ulong_with_length(temp_long); > break; > > case nod_check_point_len: > request->append_uchar(gds_dyn_log_check_point_length); >- temp_long = (SLONG) (element->nod_arg[0]); >+ temp_long = (SLONG) (IPTR) (element->nod_arg[0]); > request->append_ulong_with_length(temp_long); > break; > > case nod_num_log_buffers: > request->append_uchar(gds_dyn_log_num_of_buffers); >- temp_short = (SSHORT)(SLONG) (element->nod_arg[0]); >+ temp_short = (SSHORT)(SLONG) (IPTR) (element->nod_arg[0]); > request->append_ushort_with_length(temp_short); > break; > > case nod_log_buffer_size: > request->append_uchar(gds_dyn_log_buffer_size); >- temp_short = (SSHORT)(SLONG) (element->nod_arg[0]); >+ temp_short = (SSHORT)(SLONG) (IPTR) (element->nod_arg[0]); > request->append_ushort_with_length(temp_short); > break; > >@@ -1637,11 +1637,11 @@ > request->append_number(gds_dyn_def_dimension, position); > DSQL_NOD element = *ptr++; > request->append_uchar(gds_dyn_dim_lower); >- SLONG lrange = (SLONG) (element->nod_arg[0]); >+ SLONG lrange = (SLONG) (IPTR) (element->nod_arg[0]); > request->append_ulong_with_length(lrange); > element = *ptr; > request->append_uchar(gds_dyn_dim_upper); >- SLONG hrange = (SLONG) (element->nod_arg[0]); >+ SLONG hrange = (SLONG) (IPTR) (element->nod_arg[0]); > request->append_ulong_with_length(hrange); > request->append_uchar(gds_dyn_end); > if (lrange >= hrange) >@@ -2062,9 +2062,9 @@ > request->append_cstring(gds_dyn_def_filter, > ((STR) (ptr[e_filter_name]))->str_data); > request->append_number(gds_dyn_filter_in_subtype, >- (SSHORT)(SLONG) ((ptr[e_filter_in_type])->nod_arg[0])); >+ (SSHORT)(SLONG) (IPTR) ((ptr[e_filter_in_type])->nod_arg[0])); > request->append_number(gds_dyn_filter_out_subtype, >- (SSHORT)(SLONG) ((ptr[e_filter_out_type])->nod_arg[0])); >+ (SSHORT)(SLONG) (IPTR) ((ptr[e_filter_out_type])->nod_arg[0])); > request->append_cstring(gds_dyn_func_entry_point, > ((STR) (ptr[e_filter_entry_pt]))->str_data); > request->append_cstring(gds_dyn_func_module_name, >@@ -2670,16 +2670,16 @@ > gds_arg_gds, gds_dsql_shadow_number_err, 0); > } > >- request->append_number(gds_dyn_def_shadow, (SSHORT)(SLONG) (ptr[e_shadow_number])); >+ request->append_number(gds_dyn_def_shadow, (SSHORT)(SLONG) (IPTR) (ptr[e_shadow_number])); > request->append_cstring(gds_dyn_def_file, ((STR) (ptr[e_shadow_name]))->str_data); > request->append_number(gds_dyn_shadow_man_auto, >- (SSHORT)(SLONG) ((ptr[e_shadow_man_auto])->nod_arg[0])); >+ (SSHORT)(SLONG) (IPTR) ((ptr[e_shadow_man_auto])->nod_arg[0])); > request->append_number(gds_dyn_shadow_conditional, >- (SSHORT)(SLONG) ((ptr[e_shadow_conditional])->nod_arg[0])); >+ (SSHORT)(SLONG) (IPTR) ((ptr[e_shadow_conditional])->nod_arg[0])); > > request->append_file_start(0); > >- SLONG length = (SLONG) ptr[e_shadow_length]; >+ SLONG length = (SLONG) (IPTR) ptr[e_shadow_length]; > request->append_file_length(length); > > request->append_uchar(gds_dyn_end); >@@ -2806,15 +2806,15 @@ > > if (constant = node->nod_arg[e_trg_active]) > request->append_number(gds_dyn_trg_inactive, >- (SSHORT)(SLONG) constant->nod_arg[0]); >+ (SSHORT)(SLONG) (IPTR) constant->nod_arg[0]); > > if (constant = node->nod_arg[e_trg_position]) > request->append_number(gds_dyn_trg_sequence, >- (SSHORT)(SLONG) constant->nod_arg[0]); >+ (SSHORT)(SLONG) (IPTR) constant->nod_arg[0]); > > if (constant = node->nod_arg[e_trg_type]) { >- request->append_number(gds_dyn_trg_type, (SSHORT)(SLONG) constant->nod_arg[0]); >- trig_type = (USHORT)(ULONG) constant->nod_arg[0]; >+ request->append_number(gds_dyn_trg_type, (SSHORT)(SLONG) (IPTR) constant->nod_arg[0]); >+ trig_type = (USHORT)(ULONG) (IPTR) constant->nod_arg[0]; > } > else { > assert(node->nod_type == nod_mod_trigger); >@@ -2893,7 +2893,7 @@ > for (DSQL_NOD* ptr = temp->nod_arg; ptr < end; ++ptr) > { > DSQL_NOD message = *ptr; >- SSHORT number = (SSHORT)(SLONG) message->nod_arg[e_msg_number]; >+ SSHORT number = (SSHORT)(SLONG) (IPTR) message->nod_arg[e_msg_number]; > if (message->nod_type == nod_del_trigger_msg) > { > request->append_number(gds_dyn_delete_trigger_msg, number); >@@ -2954,7 +2954,7 @@ > // CVC: This is case of "returns <type> [by value|reference]" > /* Some data types can not be returned as value */ > >- if (((int)(SLONG) (ret_val_ptr[1]->nod_arg[0]) == FUN_value) && >+ if (((int)(SLONG) (IPTR) (ret_val_ptr[1]->nod_arg[0]) == FUN_value) && > (field->fld_dtype == dtype_text || > field->fld_dtype == dtype_varying || > field->fld_dtype == dtype_cstring || >@@ -2998,7 +2998,7 @@ > // CVC: This is case of "returns parameter <N>" > > >- position = (SSHORT)(SLONG) (ret_val_ptr[1]->nod_arg[0]); >+ position = (SSHORT)(SLONG) (IPTR) (ret_val_ptr[1]->nod_arg[0]); > /* Function modifies an argument whose value is the function return value */ > > if (!arguments || position > arguments->nod_count || position < 1) { >@@ -3024,7 +3024,7 @@ > if (field->fld_dtype == dtype_blob) > { > /* CVC: I need to test returning blobs by descriptor before allowing the change there. For now, I ignore the return type specification. */ >- BOOLEAN free_it = ((SSHORT)(SLONG) ret_val_ptr[1]->nod_arg[0] < 0); >+ BOOLEAN free_it = ((SSHORT)(SLONG) (IPTR) ret_val_ptr[1]->nod_arg[0] < 0); > request->append_number(gds_dyn_def_function_arg, blob_position); > request->append_number(gds_dyn_func_mechanism, > (SSHORT)(SLONG) ((free_it ? -1 : 1) * FUN_blob_struct)); >@@ -3035,7 +3035,7 @@ > { > request->append_number(gds_dyn_def_function_arg, (SSHORT) 0); > request->append_number(gds_dyn_func_mechanism, >- (SSHORT)(SLONG) (ret_val_ptr[1]->nod_arg[0])); >+ (SSHORT)(SLONG) (IPTR) (ret_val_ptr[1]->nod_arg[0])); > } > > request->append_cstring(gds_dyn_function_name, udf_name); >@@ -3070,7 +3070,7 @@ > request->append_number(gds_dyn_def_function_arg, (SSHORT) position); > > if (param_node [e_udf_param_type]) { >- SSHORT arg_mechanism = (SSHORT)(SLONG) (param_node [e_udf_param_type]->nod_arg [0]); >+ SSHORT arg_mechanism = (SSHORT)(SLONG) (IPTR) (param_node [e_udf_param_type]->nod_arg [0]); > request->append_number(gds_dyn_func_mechanism, arg_mechanism); > } > else if (field->fld_dtype == dtype_blob) { >@@ -3677,13 +3677,13 @@ > if (constant) > { > request->append_number(gds_dyn_trg_sequence, >- (SSHORT)(SLONG) (constant ? constant->nod_arg[0] : 0)); >+ (SSHORT)(SLONG) (IPTR) (constant ? constant->nod_arg[0] : 0)); > } > > constant = node->nod_arg[e_cnstr_type]; > if (constant) > { >- trig_type = (USHORT)(ULONG) constant->nod_arg[0]; >+ trig_type = (USHORT)(ULONG)(IPTR) constant->nod_arg[0]; > request->append_number(gds_dyn_trg_type, trig_type); > } > else >@@ -4173,7 +4173,7 @@ > > case nod_del_shadow: > request->append_number(gds_dyn_delete_shadow, >- (SSHORT)(SLONG) (node->nod_arg[0])); >+ (SSHORT)(SLONG) (IPTR) (node->nod_arg[0])); > request->append_uchar(gds_dyn_end); > break; > >@@ -4611,25 +4611,25 @@ > > case nod_group_commit_wait: > request->append_uchar(gds_dyn_log_group_commit_wait); >- temp_long = (SLONG) (element->nod_arg[0]); >+ temp_long = (SLONG)(IPTR) (element->nod_arg[0]); > request->append_ulong_with_length(temp_long); > break; > > case nod_check_point_len: > request->append_uchar(gds_dyn_log_check_point_length); >- temp_long = (SLONG) (element->nod_arg[0]); >+ temp_long = (SLONG)(IPTR) (element->nod_arg[0]); > request->append_ulong_with_length(temp_long); > break; > > case nod_num_log_buffers: > request->append_uchar(gds_dyn_log_num_of_buffers); >- temp_short = (SSHORT)(SLONG) (element->nod_arg[0]); >+ temp_short = (SSHORT)(SLONG)(IPTR) (element->nod_arg[0]); > request->append_ushort_with_length(temp_short); > break; > > case nod_log_buffer_size: > request->append_uchar(gds_dyn_log_buffer_size); >- temp_short = (SSHORT)(SLONG) (element->nod_arg[0]); >+ temp_short = (SSHORT)(SLONG)(IPTR) (element->nod_arg[0]); > request->append_ushort_with_length(temp_short); > break; > case nod_drop_log: >@@ -5095,7 +5095,7 @@ > const_node = element->nod_arg[e_mod_fld_pos_new_position]; > > /* CVC: Since now the parser accepts pos=1..N, let's subtract one here. */ >- constant = (SSHORT)(SLONG) const_node->nod_arg [0] - 1; >+ constant = (SSHORT)(SLONG) (IPTR) const_node->nod_arg [0] - 1; > > request->append_cstring(gds_dyn_rel_name, > relation_name->str_data); >diff -Naur firebird-1.5.3.4870.old/src/dsql/dsql.cpp firebird-1.5.3.4870/src/dsql/dsql.cpp >--- firebird-1.5.3.4870.old/src/dsql/dsql.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/dsql/dsql.cpp 2006-08-06 07:38:45.000000000 +0200 >@@ -1136,8 +1136,8 @@ > parameter = request->req_blob->blb_segment; > PAR null = parameter->par_null; > USHORT* ret_length = >- (USHORT *) (dsql_msg + (SLONG) null->par_user_desc.dsc_address); >- UCHAR* buffer = dsql_msg + (SLONG) parameter->par_user_desc.dsc_address; >+ (USHORT *) (dsql_msg + (SLONG) (IPTR) null->par_user_desc.dsc_address); >+ UCHAR* buffer = dsql_msg + (SLONG) (IPTR) parameter->par_user_desc.dsc_address; > THREAD_EXIT; > s = isc_get_segment(tdsql->tsql_status, > GDS_REF(request->req_handle), >@@ -1314,7 +1314,7 @@ > parameter = request->req_blob->blb_segment; > buffer = > reinterpret_cast<SCHAR*>( >- dsql_msg + (SLONG) parameter->par_user_desc.dsc_address); >+ dsql_msg + (SLONG) (IPTR) parameter->par_user_desc.dsc_address); > THREAD_EXIT; > s = isc_put_segment(tdsql->tsql_status, > GDS_REF(request->req_handle), >@@ -3210,7 +3210,7 @@ > PAR parameter, null; > > if (node->nod_type == nod_constant) >- return (SSHORT)(SLONG) node->nod_arg[0]; >+ return (SSHORT)(SLONG) (IPTR) node->nod_arg[0]; > > parameter = (PAR) node->nod_arg[e_par_parameter]; > if (null = parameter->par_null) >@@ -3976,7 +3976,7 @@ > /* Make sure the message given to us is long enough */ > > DSC desc = parameter->par_user_desc; >- USHORT length = (SLONG) desc.dsc_address + desc.dsc_length; >+ USHORT length = (SLONG) (IPTR) desc.dsc_address + desc.dsc_length; > if (length > msg_length) > break; > if (!desc.dsc_dtype) >@@ -3985,7 +3985,7 @@ > flag = NULL; > if ((null = parameter->par_null) != NULL) > { >- USHORT null_offset = (USHORT)(ULONG) (null->par_user_desc.dsc_address); >+ USHORT null_offset = (USHORT)(ULONG) (IPTR) (null->par_user_desc.dsc_address); > length = null_offset + sizeof(SSHORT); > if (length > msg_length) > break; >@@ -4000,7 +4000,7 @@ > } > } > >- desc.dsc_address = dsql_msg + (SLONG) desc.dsc_address; >+ desc.dsc_address = dsql_msg + (SLONG) (IPTR) desc.dsc_address; > if (!request) > MOVD_move(¶meter->par_desc, &desc); > else if (!flag || *flag >= 0) >diff -Naur firebird-1.5.3.4870.old/src/dsql/gen.cpp firebird-1.5.3.4870/src/dsql/gen.cpp >--- firebird-1.5.3.4870.old/src/dsql/gen.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/dsql/gen.cpp 2006-08-06 07:41:31.000000000 +0200 >@@ -636,7 +636,7 @@ > for (parameter = message->msg_parameters; parameter; > parameter = parameter->par_next) > parameter->par_desc.dsc_address = >- message->msg_buffer + (SLONG) parameter->par_desc.dsc_address; >+ message->msg_buffer + (SLONG) (IPTR) parameter->par_desc.dsc_address; > } > > >@@ -1021,7 +1021,7 @@ > case nod_exec_into: > if (node->nod_arg[e_exec_into_block]) { > STUFF(blr_label); >- STUFF((int)(SLONG) node->nod_arg[e_exec_into_number]); >+ STUFF((int)(SLONG) (IPTR) node->nod_arg[e_exec_into_number]); > } > STUFF(blr_exec_into); > temp = node->nod_arg[e_exec_into_list]; >@@ -1049,12 +1049,12 @@ > > case nod_label: > STUFF(blr_label); >- STUFF((int)(SLONG) node->nod_arg[e_label_number]); >+ STUFF((int)(SLONG) (IPTR) node->nod_arg[e_label_number]); > return; > > case nod_breakleave: > STUFF(blr_leave); >- STUFF((int)(SLONG) node->nod_arg[e_breakleave_number]); >+ STUFF((int)(SLONG)(IPTR) node->nod_arg[e_breakleave_number]); > return; > > case nod_store: >@@ -1069,7 +1069,7 @@ > > case nod_abort: > STUFF(blr_leave); >- STUFF((int)(SLONG) node->nod_arg[e_abrt_number]); >+ STUFF((int)(SLONG) (IPTR) node->nod_arg[e_abrt_number]); > return; > > case nod_start_savepoint: >@@ -1149,14 +1149,14 @@ > > case nod_while: > STUFF(blr_label); >- STUFF((int)(SLONG) node->nod_arg[e_while_number]); >+ STUFF((int)(SLONG) (IPTR) node->nod_arg[e_while_number]); > STUFF(blr_loop); > STUFF(blr_begin); > STUFF(blr_if); > GEN_expr(request, node->nod_arg[e_while_cond]); > GEN_statement(request, node->nod_arg[e_while_action]); > STUFF(blr_leave); >- STUFF((int)(SLONG) node->nod_arg[e_while_number]); >+ STUFF((int)(SLONG) (IPTR) node->nod_arg[e_while_number]); > STUFF(blr_end); > return; > >@@ -1556,7 +1556,7 @@ > switch (node->nod_type) { > case nod_sqlcode: > STUFF(blr_sql_code); >- STUFF_WORD((USHORT)(ULONG) node->nod_arg[0]); >+ STUFF_WORD((USHORT)(ULONG) (IPTR) node->nod_arg[0]); > return; > > case nod_gdscode: >@@ -1667,7 +1667,7 @@ > what loop is the user trying to abandon? */ > if (for_select->nod_arg [e_flp_action]) { > STUFF (blr_label); >- STUFF ((int) for_select->nod_arg [e_flp_number]); >+ STUFF ((int) (IPTR) for_select->nod_arg [e_flp_number]); > } > > /* Generate FOR loop */ >@@ -2546,7 +2546,7 @@ > for (ptr = list->nod_arg, end = ptr + list->nod_count; ptr < end; ptr++) { > dsql_nod* nulls_placement = (*ptr)->nod_arg[e_order_nulls]; > if (nulls_placement) { >- switch ((SLONG)nulls_placement->nod_arg[0]) { >+ switch ((SLONG) (IPTR) nulls_placement->nod_arg[0]) { > case NOD_NULLS_FIRST: > STUFF(blr_nullsfirst); > break; >diff -Naur firebird-1.5.3.4870.old/src/dsql/parse.y firebird-1.5.3.4870/src/dsql/parse.y >--- firebird-1.5.3.4870.old/src/dsql/parse.y 2006-08-06 06:47:21.000000000 +0200 >+++ firebird-1.5.3.4870/src/dsql/parse.y 2006-08-06 07:49:47.000000000 +0200 >@@ -551,7 +551,7 @@ > | set > | update > | KW_DEBUG signed_short_integer >- { prepare_console_debug ((int) $2, &yydebug); >+ { prepare_console_debug ((int)(IPTR) $2, &yydebug); > $$ = make_node (nod_null, (int) 0, NULL); } > ; > >@@ -753,7 +753,7 @@ > | CSTRING '(' pos_short_integer ')' charset_clause > { > lex.g_field->fld_dtype = dtype_cstring; >- lex.g_field->fld_character_length = (USHORT) $3; } >+ lex.g_field->fld_character_length = (USHORT)(size_t) $3; } > ; > > arg_desc_list1 : >@@ -1158,7 +1158,7 @@ > ; > > logfile_attr : KW_SIZE equals long_integer >- { lex.g_file->fil_length = (SLONG) $3; } >+ { lex.g_file->fil_length = (SLONG)(IPTR) $3; } > /* > | RAW_PARTITIONS equals pos_short_integer > { lex.g_file->fil_partitions = (SSHORT) $3; >@@ -1178,9 +1178,9 @@ > ; > > file_clause : STARTING file_clause_noise long_integer >- { lex.g_file->fil_start = (SLONG) $3;} >+ { lex.g_file->fil_start = (SLONG)(IPTR) $3;} > | LENGTH equals long_integer page_noise >- { lex.g_file->fil_length = (SLONG) $3;} >+ { lex.g_file->fil_length = (SLONG)(IPTR) $3;} > ; > > file_clause_noise : >@@ -2186,7 +2186,7 @@ > ; > > array_range : signed_long_integer >- { if ((SLONG) $1 < 1) >+ { if ((SLONG)(IPTR) $1 < 1) > $$ = make_node (nod_list, (int) 2, > MAKE_constant ((STR) $1, CONSTANT_SLONG), > MAKE_constant ((STR) 1, CONSTANT_SLONG)); >@@ -2292,26 +2292,26 @@ > | BLOB '(' unsigned_short_integer ')' > { > lex.g_field->fld_dtype = dtype_blob; >- lex.g_field->fld_seg_length = (USHORT) $3; >+ lex.g_field->fld_seg_length = (USHORT)(size_t) $3; > lex.g_field->fld_sub_type = 0; > } > | BLOB '(' unsigned_short_integer ',' signed_short_integer ')' > { > lex.g_field->fld_dtype = dtype_blob; >- lex.g_field->fld_seg_length = (USHORT) $3; >- lex.g_field->fld_sub_type = (USHORT) $5; >+ lex.g_field->fld_seg_length = (USHORT)(size_t) $3; >+ lex.g_field->fld_sub_type = (USHORT)(size_t) $5; > } > | BLOB '(' ',' signed_short_integer ')' > { > lex.g_field->fld_dtype = dtype_blob; > lex.g_field->fld_seg_length = 80; >- lex.g_field->fld_sub_type = (USHORT) $4; >+ lex.g_field->fld_sub_type = (USHORT)(size_t) $4; > } > ; > > blob_segsize : SEGMENT KW_SIZE unsigned_short_integer > { >- lex.g_field->fld_seg_length = (USHORT) $3; >+ lex.g_field->fld_seg_length = (USHORT)(size_t) $3; > } > | > { >@@ -2321,7 +2321,7 @@ > > blob_subtype : SUB_TYPE signed_short_integer > { >- lex.g_field->fld_sub_type = (USHORT) $2; >+ lex.g_field->fld_sub_type = (USHORT)(size_t) $2; > } > | SUB_TYPE symbol_blob_subtype_name > { >@@ -2347,7 +2347,7 @@ > national_character_type : national_character_keyword '(' pos_short_integer ')' > { > lex.g_field->fld_dtype = dtype_text; >- lex.g_field->fld_character_length = (USHORT) $3; >+ lex.g_field->fld_character_length = (USHORT)(size_t) $3; > lex.g_field->fld_flags |= FLD_national; > } > | national_character_keyword >@@ -2359,7 +2359,7 @@ > | national_character_keyword VARYING '(' pos_short_integer ')' > { > lex.g_field->fld_dtype = dtype_varying; >- lex.g_field->fld_character_length = (USHORT) $4; >+ lex.g_field->fld_character_length = (USHORT)(size_t) $4; > lex.g_field->fld_flags |= FLD_national; > } > ; >@@ -2367,7 +2367,7 @@ > character_type : character_keyword '(' pos_short_integer ')' > { > lex.g_field->fld_dtype = dtype_text; >- lex.g_field->fld_character_length = (USHORT) $3; >+ lex.g_field->fld_character_length = (USHORT)(size_t) $3; > } > | character_keyword > { >@@ -2377,7 +2377,7 @@ > | varying_keyword '(' pos_short_integer ')' > { > lex.g_field->fld_dtype = dtype_varying; >- lex.g_field->fld_character_length = (USHORT) $3; >+ lex.g_field->fld_character_length = (USHORT)(size_t) $3; > } > ; > >@@ -2429,10 +2429,10 @@ > } > | '(' signed_long_integer ')' > { >- if ( ((SLONG) $2 < 1) || ((SLONG) $2 > 18) ) >+ if ( ((SLONG)(IPTR) $2 < 1) || ((SLONG)(IPTR) $2 > 18) ) > yyabandon (-842, isc_precision_err); > /* Precision most be between 1 and 18. */ >- if ((SLONG) $2 > 9) >+ if ((SLONG)(IPTR) $2 > 9) > { > if ( ( (client_dialect <= SQL_DIALECT_V5) && > (db_dialect > SQL_DIALECT_V5) ) || >@@ -2469,7 +2469,7 @@ > } > } > else >- if ((SLONG) $2 < 5) >+ if ((SLONG)(IPTR) $2 < 5) > { > lex.g_field->fld_dtype = dtype_short; > lex.g_field->fld_length = sizeof (SSHORT); >@@ -2479,17 +2479,17 @@ > lex.g_field->fld_dtype = dtype_long; > lex.g_field->fld_length = sizeof (SLONG); > } >- lex.g_field->fld_precision = (USHORT) $2; >+ lex.g_field->fld_precision = (USHORT)(size_t) $2; > } > | '(' signed_long_integer ',' signed_long_integer ')' > { >- if ( ((SLONG) $2 < 1) || ((SLONG) $2 > 18) ) >+ if ( ((SLONG)(IPTR) $2 < 1) || ((SLONG)(IPTR) $2 > 18) ) > yyabandon (-842, isc_precision_err); > /* Precision should be between 1 and 18 */ >- if (((SLONG) $4 > (SLONG) $2) || ((SLONG) $4 < 0)) >+ if (((SLONG)(IPTR) $4 > (SLONG)(IPTR) $2) || ((SLONG)(IPTR) $4 < 0)) > yyabandon (-842, isc_scale_nogt); > /* Scale must be between 0 and precision */ >- if ((SLONG) $2 > 9) >+ if ((SLONG)(IPTR) $2 > 9) > { > if ( ( (client_dialect <= SQL_DIALECT_V5) && > (db_dialect > SQL_DIALECT_V5) ) || >@@ -2527,7 +2527,7 @@ > } > else > { >- if ((SLONG) $2 < 5) >+ if ((SLONG)(IPTR) $2 < 5) > { > lex.g_field->fld_dtype = dtype_short; > lex.g_field->fld_length = sizeof (SSHORT); >@@ -2538,8 +2538,8 @@ > lex.g_field->fld_length = sizeof (SLONG); > } > } >- lex.g_field->fld_precision = (USHORT) $2; >- lex.g_field->fld_scale = - (SSHORT) $4; >+ lex.g_field->fld_precision = (USHORT)(size_t) $2; >+ lex.g_field->fld_scale = - (SSHORT)(size_t) $4; > } > ; > >@@ -2553,7 +2553,7 @@ > > float_type : KW_FLOAT precision_opt > { >- if ((SLONG) $2 > 7) >+ if ((SLONG)(IPTR) $2 > 7) > { > lex.g_field->fld_dtype = dtype_double; > lex.g_field->fld_length = sizeof (double); >@@ -2756,7 +2756,7 @@ > ; > > table_lock : FOR lock_type lock_mode >- { $$ = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT) $2 | (SSHORT) $3), (SSHORT) 0, NULL); } >+ { $$ = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT)(size_t) $2 | (SSHORT)(size_t) $3), (SSHORT) 0, NULL); } > | > { $$ = 0; } > ; >@@ -3706,32 +3706,32 @@ > > signed_short_integer : nonneg_short_integer > | '-' neg_short_integer >- { $$ = (DSQL_NOD) - (SLONG) $2; } >+ { $$ = (DSQL_NOD) - (SLONG)(IPTR) $2; } > ; > > nonneg_short_integer : NUMBER >- { if ((SLONG) $1 > SHRT_POS_MAX) >+ { if ((SLONG)(IPTR) $1 > SHRT_POS_MAX) > yyabandon (-842, isc_expec_short); > /* Short integer expected */ > $$ = $1;} > ; > > neg_short_integer : NUMBER >- { if ((SLONG) $1 > SHRT_NEG_MAX) >+ { if ((SLONG)(IPTR) $1 > SHRT_NEG_MAX) > yyabandon (-842, isc_expec_short); > /* Short integer expected */ > $$ = $1;} > ; > > pos_short_integer : nonneg_short_integer >- { if ((SLONG) $1 == 0) >+ { if ((SLONG)(IPTR) $1 == 0) > yyabandon (-842, isc_expec_positive); > /* Positive number expected */ > $$ = $1;} > ; > > unsigned_short_integer : NUMBER >- { if ((SLONG) $1 > SHRT_UNSIGNED_MAX) >+ { if ((SLONG)(IPTR) $1 > SHRT_UNSIGNED_MAX) > yyabandon (-842, isc_expec_ushort); > /* Unsigned short integer expected */ > $$ = $1;} >@@ -3739,7 +3739,7 @@ > > signed_long_integer : long_integer > | '-' long_integer >- { $$ = (DSQL_NOD) - (SLONG) $2; } >+ { $$ = (DSQL_NOD) - (SLONG)(IPTR) $2; } > ; > > long_integer : NUMBER >@@ -3820,14 +3820,14 @@ > > string_value_function : SUBSTRING '(' value FROM pos_short_integer ')' > { $$ = make_node (nod_substr, e_substr_count, $3, >- MAKE_constant ((STR) ((SLONG)($5) - 1), CONSTANT_SLONG), >+ MAKE_constant ((STR) ((SLONG)(IPTR)($5) - 1), CONSTANT_SLONG), > MAKE_constant ((STR) SHRT_POS_MAX, CONSTANT_SLONG)); } > /* CVC: It was easier to provide a constant with maximum value if the > third parameter -length- is ommitted than to chase and fix the functions > that treat nod_substr as an aggregate and do not expect NULL arguments. */ > | SUBSTRING '(' value FROM pos_short_integer FOR nonneg_short_integer ')' > { $$ = make_node (nod_substr, e_substr_count, $3, >- MAKE_constant ((STR) ((SLONG)($5) - 1), CONSTANT_SLONG), >+ MAKE_constant ((STR) ((SLONG)(IPTR)($5) - 1), CONSTANT_SLONG), > MAKE_constant ((STR) ($7), CONSTANT_SLONG)); } > | KW_UPPER '(' value ')' > { $$ = make_node (nod_upcase, 1, $3); } >@@ -4960,7 +4960,7 @@ > > CHECK_BOUND(p); > *p = 0; >- sym = HSHD_lookup (NULL_PTR, (TEXT *) string, (SSHORT)(p - string), SYM_keyword, parser_version); >+ sym = HSHD_lookup (NULL_PTR, (TEXT *) string, (SSHORT)(size_t)(p - string), SYM_keyword, parser_version); > if (sym) > { > /* 13 June 2003. Nickolay Samofatov >diff -Naur firebird-1.5.3.4870.old/src/dsql/pass1.cpp firebird-1.5.3.4870/src/dsql/pass1.cpp >--- firebird-1.5.3.4870.old/src/dsql/pass1.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/dsql/pass1.cpp 2006-08-06 07:52:09.000000000 +0200 >@@ -642,7 +642,7 @@ > TRUE, TRUE, > /* Pass 0 here to restore older parameter > ordering behavior */ >- (USHORT)(ULONG) input->nod_arg[0]); >+ (USHORT)(ULONG)(IPTR) input->nod_arg[0]); > return node; > > case nod_udf: >@@ -1561,7 +1561,7 @@ > } > else { > // we have Count(*) >- if (request->req_scope_level == (ULONG) node->nod_arg[1]) { >+ if (request->req_scope_level == (ULONG)(IPTR) node->nod_arg[1]) { > aggregate = TRUE; > } > } >@@ -4426,7 +4426,7 @@ > (slist_node->nod_type == nod_list)) > { > /* an select list is there */ >- position = (ULONG) sub->nod_arg[0]; >+ position = (ULONG)(IPTR) sub->nod_arg[0]; > if ((position < 1) || (position > (ULONG) slist_node->nod_count)) > { > ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104, >@@ -4819,7 +4819,7 @@ > } > > if (node1->nod_type == nod_constant && node1->nod_desc.dsc_dtype == dtype_long) { >- position = (ULONG) (node1->nod_arg[0]); >+ position = (ULONG)(IPTR) (node1->nod_arg[0]); > if ((position < 1) || !s_list || > (position > (ULONG) s_list->nod_count)) { > ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104, >@@ -5082,7 +5082,7 @@ > ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104, > gds_arg_gds, gds_dsql_command_err, gds_arg_gds, gds_order_by_err, /* invalid ORDER BY clause */ > 0); >- number = (SLONG) position->nod_arg[0]; >+ number = (SLONG)(IPTR) position->nod_arg[0]; > if (number < 1 || number > union_items->nod_count) > ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104, > gds_arg_gds, gds_dsql_command_err, gds_arg_gds, gds_order_by_err, /* invalid ORDER BY clause */ >diff -Naur firebird-1.5.3.4870.old/src/dudley/generate.cpp firebird-1.5.3.4870/src/dudley/generate.cpp >--- firebird-1.5.3.4870.old/src/dudley/generate.cpp 2006-08-06 06:47:26.000000000 +0200 >+++ firebird-1.5.3.4870/src/dudley/generate.cpp 2006-08-06 08:06:49.000000000 +0200 >@@ -426,7 +426,7 @@ > case nod_abort: > CHECK_BLR(2); > STUFF(blr_leave); >- STUFF((int) node->nod_arg[0]); >+ STUFF((int) (IPTR) node->nod_arg[0]); > return; > > case nod_erase: >diff -Naur firebird-1.5.3.4870.old/src/dudley/trn.cpp firebird-1.5.3.4870/src/dudley/trn.cpp >--- firebird-1.5.3.4870.old/src/dudley/trn.cpp 2006-08-06 06:47:26.000000000 +0200 >+++ firebird-1.5.3.4870/src/dudley/trn.cpp 2006-08-06 08:07:12.000000000 +0200 >@@ -244,7 +244,7 @@ > break; > > case act_d_shadow: >- drop_shadow(dyn, (SLONG) (action->act_object)); >+ drop_shadow(dyn, (SLONG)(IPTR) (action->act_object)); > break; > > case act_m_trigger_msg: >diff -Naur firebird-1.5.3.4870.old/src/jrd/jrd.cpp firebird-1.5.3.4870/src/jrd/jrd.cpp >--- firebird-1.5.3.4870.old/src/jrd/jrd.cpp 2006-08-06 06:52:32.000000000 +0200 >+++ firebird-1.5.3.4870/src/jrd/jrd.cpp 2006-08-06 06:53:15.000000000 +0200 >@@ -3877,9 +3877,9 @@ > { > if ( (node = csb->csb_rpt[i].csb_message) ) > { >- if ((int) node->nod_arg[e_msg_number] == 0) { >+ if ((int) (IPTR) node->nod_arg[e_msg_number] == 0) { > in_message = node; >- } else if ((int) node->nod_arg[e_msg_number] == 1) { >+ } else if ((int) (IPTR) node->nod_arg[e_msg_number] == 1) { > out_message = node; > } > } >diff -Naur firebird-1.5.3.4870.old/src/jrd/jrn.cpp firebird-1.5.3.4870/src/jrd/jrn.cpp >--- firebird-1.5.3.4870.old/src/jrd/jrn.cpp 2006-08-06 06:47:17.000000000 +0200 >+++ firebird-1.5.3.4870/src/jrd/jrn.cpp 2006-08-06 06:55:26.000000000 +0200 >@@ -836,7 +836,7 @@ > for (loop = 0; loop < 20; loop++) { > for (;;) { > journal->jrn_channel = (int *) socket(AF_INET, SOCK_STREAM, 0); >- if ((int) journal->jrn_channel != -1) >+ if ((int) (IPTR) journal->jrn_channel != -1) > break; > if (!SYSCALL_INTERRUPTED(errno)) { > error(status_vector, journal, errno, "socket"); >@@ -859,18 +859,18 @@ > return ret_val; > } > >- if (!connect((int) journal->jrn_channel, (sockaddr*)&address, sizeof(address))) >+ if (!connect((int) (IPTR) journal->jrn_channel, (sockaddr*)&address, sizeof(address))) > break; > > sleep(3); > > if (loop < 16) { >- close((int) journal->jrn_channel); >+ close((int) (IPTR) journal->jrn_channel); > continue; > } > if (!SYSCALL_INTERRUPTED(errno)) { > if (retry) { >- close((int) journal->jrn_channel); >+ close((int) (IPTR) journal->jrn_channel); > gds__free(journal); > *ret_jrn = (JRN) NULL; > return FB_SUCCESS; >@@ -879,7 +879,7 @@ > gds__free(journal); > return FB_FAILURE; > } >- close((int) journal->jrn_channel); >+ close((int) (IPTR) journal->jrn_channel); > } > #endif > >@@ -939,7 +939,7 @@ > if (retry) > { > #ifdef BSD_SOCKETS >- close((int) journal->jrn_channel); >+ close((int) (IPTR) journal->jrn_channel); > #endif > > #ifdef WIN_NT >@@ -1056,7 +1056,7 @@ > with us, so keep trying until successful. */ > > do { >- l = recv((int) journal->jrn_channel, (char *) reply, sizeof(struct jrnr), 0); >+ l = recv((int) (IPTR) journal->jrn_channel, (char *) reply, sizeof(struct jrnr), 0); > } while (l < 0 && SYSCALL_INTERRUPTED(errno)); > > if (l < 0) { >@@ -1095,7 +1095,7 @@ > **************************************/ > > #ifdef BSD_SOCKETS >- if (close((int) journal->jrn_channel) < 0) { >+ if (close((int) (IPTR) journal->jrn_channel) < 0) { > error(status_vector, journal, errno, "close"); > return FB_FAILURE; > } >@@ -1166,7 +1166,7 @@ > with us, so keep trying until successful. */ > > do { >- l = send((int) journal->jrn_channel, (char *) buffer, (int) length, 0); >+ l = send((int) (IPTR) journal->jrn_channel, (char *) buffer, (int) length, 0); > } while (l < 0 && SYSCALL_INTERRUPTED(errno)); > > if (l < 0) { >diff -Naur firebird-1.5.3.4870.old/src/jrd/lck.cpp firebird-1.5.3.4870/src/jrd/lck.cpp >--- firebird-1.5.3.4870.old/src/jrd/lck.cpp 2006-08-06 06:47:17.000000000 +0200 >+++ firebird-1.5.3.4870/src/jrd/lck.cpp 2006-08-06 07:56:17.000000000 +0200 >@@ -87,8 +87,8 @@ > #ifdef SUPERSERVER > > #define LCK_OWNER_ID_PROCESS (SLONG) getpid() >-#define LCK_OWNER_ID_DBB (SLONG) dbb >-#define LCK_OWNER_ID_ATT (SLONG) attachment >+#define LCK_OWNER_ID_DBB (SLONG)(IPTR) dbb >+#define LCK_OWNER_ID_ATT (SLONG)(IPTR) attachment > > #define LCK_OWNER_TYPE_PROCESS LCK_OWNER_process > #define LCK_OWNER_TYPE_DBB LCK_OWNER_dbb >diff -Naur firebird-1.5.3.4870.old/src/jrd/nav.cpp firebird-1.5.3.4870/src/jrd/nav.cpp >--- firebird-1.5.3.4870.old/src/jrd/nav.cpp 2006-08-06 06:47:18.000000000 +0200 >+++ firebird-1.5.3.4870/src/jrd/nav.cpp 2006-08-06 07:00:00.000000000 +0200 >@@ -487,7 +487,7 @@ > > init_fetch(impure); > idx = >- (IDX *) ((SCHAR *) impure + (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]); >+ (IDX *) ((SCHAR *) impure + (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]); > > /* The bitmap is only valid when we are continuing on in one > direction. It is of no help when we change direction, >@@ -521,12 +521,12 @@ > #ifdef SCROLLABLE_CURSORS > MOVE_FAST( > (impure->irsb_nav_data + >- (2 * (SLONG) rsb->rsb_arg[RSB_NAV_key_length])), >+ (2 * (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_key_length])), > upper.key_data, upper.key_length); > #else > MOVE_FAST( > (impure->irsb_nav_data + >- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]), upper.key_data, >+ (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_key_length]), upper.key_data, > upper.key_length); > #endif > } >@@ -534,7 +534,7 @@ > lower.key_length = impure->irsb_nav_lower_length; > MOVE_FAST( > (impure->irsb_nav_data + >- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]), lower.key_data, >+ (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_key_length]), lower.key_data, > lower.key_length); > } > >@@ -1404,7 +1404,7 @@ > tdbb = GET_THREAD_DATA; > > idx = >- (IDX *) ((SCHAR *) impure + (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]); >+ (IDX *) ((SCHAR *) impure + (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]); > page = (BTR) CCH_FETCH(tdbb, window, LCK_read, pag_index); > > /* the outer loop goes through all the sibling pages >@@ -1619,7 +1619,7 @@ > tdbb = GET_THREAD_DATA; > request = tdbb->tdbb_request; > idx = >- (IDX *) ((SCHAR *) impure + (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]); >+ (IDX *) ((SCHAR *) impure + (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]); > > BOOLEAN result; > >@@ -1656,7 +1656,7 @@ > rpb->rpb_record, > reinterpret_cast < > struct idx *>((SCHAR *) impure + >- (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]), >+ (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]), > &value, > 0); > if (compare_keys(idx, key->key_data, key->key_length, &value, FALSE)) { >@@ -1757,7 +1757,7 @@ > retrieval_node = (JRD_NOD) rsb->rsb_arg[RSB_NAV_index]; > retrieval = (IRB) retrieval_node->nod_arg[e_idx_retrieval]; > idx = >- (IDX *) ((SCHAR *) impure + (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]); >+ (IDX *) ((SCHAR *) impure + (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]); > page = > BTR_find_page(tdbb, retrieval, window, idx, &lower, &upper, > (direction == RSE_get_backward)); >@@ -1802,7 +1802,7 @@ > impure->irsb_nav_upper_length = upper.key_length; > MOVE_FAST(upper.key_data, > (impure->irsb_nav_data + >- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]), >+ (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_key_length]), > upper.key_length); > } > if (retrieval->irb_lower_count) >@@ -1813,7 +1813,7 @@ > impure->irsb_nav_lower_length = lower.key_length; > MOVE_FAST(lower.key_data, > (impure->irsb_nav_data + >- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]), >+ (SLONG) (IPTR) rsb->rsb_arg[RSB_NAV_key_length]), > lower.key_length); > } > if (retrieval->irb_upper_count) >diff -Naur firebird-1.5.3.4870.old/src/jrd/rse.cpp firebird-1.5.3.4870/src/jrd/rse.cpp >--- firebird-1.5.3.4870.old/src/jrd/rse.cpp 2006-08-06 06:47:17.000000000 +0200 >+++ firebird-1.5.3.4870/src/jrd/rse.cpp 2006-08-06 07:17:52.000000000 +0200 >@@ -2151,7 +2151,7 @@ > } > > desc = msg_format->fmt_desc[msg_format->fmt_count - 1]; >- desc.dsc_address = (UCHAR *) (om + (int) desc.dsc_address); >+ desc.dsc_address = (UCHAR *) (om + (int) (IPTR) desc.dsc_address); > eos_desc.dsc_dtype = dtype_short; > eos_desc.dsc_scale = 0; > eos_desc.dsc_length = sizeof(SSHORT); >@@ -2959,7 +2959,7 @@ > for (item = map->smb_rpt; item < end_item; item++) { > flag = *(data + item->smb_flag_offset); > from = item->smb_desc; >- from.dsc_address = data + (ULONG) from.dsc_address; >+ from.dsc_address = data + (ULONG) (IPTR) from.dsc_address; > if ((node = item->smb_node) && node->nod_type != nod_field) > continue; > >@@ -3211,7 +3211,7 @@ > end_item = map->smb_rpt + map->smb_count; > for (item = map->smb_rpt; item < end_item; item++) { > to = item->smb_desc; >- to.dsc_address = data + (ULONG) to.dsc_address; >+ to.dsc_address = data + (ULONG) (IPTR) to.dsc_address; > flag = FALSE; > if (item->smb_node) { > from = EVL_expr(tdbb, item->smb_node); >@@ -3301,12 +3301,12 @@ > desc2.dsc_flags = 0; > desc2.dsc_address = (UCHAR *) & indicator; > desc1 = *flag_desc; >- desc1.dsc_address = msg + (int) flag_desc->dsc_address; >+ desc1.dsc_address = msg + (int) (IPTR) flag_desc->dsc_address; > MOV_move(&desc1, &desc2); > if (indicator) { > SET_NULL(record, to_id); > l = to_desc->dsc_length; >- p = record->rec_data + (int) to_desc->dsc_address; >+ p = record->rec_data + (int) (IPTR) to_desc->dsc_address; > switch (to_desc->dsc_dtype) { > case dtype_text: > /* YYY - not necessarily the right thing to do */ >@@ -3336,9 +3336,9 @@ > else { > CLEAR_NULL(record, to_id); > desc1 = *from_desc; >- desc1.dsc_address = msg + (int) desc1.dsc_address; >+ desc1.dsc_address = msg + (int) (IPTR) desc1.dsc_address; > desc2 = *to_desc; >- desc2.dsc_address = record->rec_data + (int) desc2.dsc_address; >+ desc2.dsc_address = record->rec_data + (int) (IPTR) desc2.dsc_address; > if (!DSC_EQUIV((&desc1), (&desc2))) > MOV_move(&desc1, &desc2); > >@@ -3817,7 +3817,7 @@ > if (!sfb_->sfb_file_name) { > TEXT file_name[128]; > >- sfb_->sfb_file = (int) gds__temp_file(FALSE, SCRATCH, file_name); >+ sfb_->sfb_file = (int) (IPTR) gds__temp_file(FALSE, SCRATCH, file_name); > if (sfb_->sfb_file == -1) > SORT_error(tdbb->tdbb_status_vector, sfb_, "open", isc_io_error, > errno); >diff -Naur firebird-1.5.3.4870.old/src/jrd/sort.cpp firebird-1.5.3.4870/src/jrd/sort.cpp >--- firebird-1.5.3.4870.old/src/jrd/sort.cpp 2006-08-06 06:47:17.000000000 +0200 >+++ firebird-1.5.3.4870/src/jrd/sort.cpp 2006-08-06 07:19:27.000000000 +0200 >@@ -1788,7 +1788,7 @@ > /* Create a scratch file */ > > sfb->sfb_file = >- (int) gds__temp_file(FALSE, SCRATCH, file_name, >+ (int) (IPTR) gds__temp_file(FALSE, SCRATCH, file_name, > sfb->sfb_dls->dls_directory, TRUE); > > /* allocate the file name even if the file is not open, >diff -Naur firebird-1.5.3.4870.old/src/qli/eval.cpp firebird-1.5.3.4870/src/qli/eval.cpp >--- firebird-1.5.3.4870.old/src/qli/eval.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/qli/eval.cpp 2006-08-06 08:02:09.000000000 +0200 >@@ -200,10 +200,10 @@ > > if (node->nod_type == nod_rpt_average && node->nod_arg[e_stt_default]) > if (node->nod_desc.dsc_dtype == dtype_long) >- *(SLONG *) node->nod_desc.dsc_address /= (SLONG) node-> >+ *(SLONG *) node->nod_desc.dsc_address /= (SLONG) (IPTR) node-> > nod_arg[e_stt_default]; > else >- *(double *) node->nod_desc.dsc_address /= (SLONG) node-> >+ *(double *) node->nod_desc.dsc_address /= (SLONG) (IPTR) node-> > nod_arg[e_stt_default]; > } > >@@ -241,7 +241,7 @@ > > /* If this is the first value, just move it in. */ > >- count = (SLONG) node->nod_arg[e_stt_default] + 1; >+ count = (SLONG) (IPTR) node->nod_arg[e_stt_default] + 1; > if (count == 1) { > if (desc2->dsc_missing) > desc1->dsc_missing = DSC_missing; >@@ -374,7 +374,7 @@ > case nod_rpt_min: > case nod_rpt_total: > case nod_rpt_average: >- if (!(SLONG) node->nod_arg[e_stt_default]) >+ if (!(SLONG) (IPTR) node->nod_arg[e_stt_default]) > desc->dsc_missing = DSC_missing; > > case nod_rpt_count: >diff -Naur firebird-1.5.3.4870.old/src/qli/expand.cpp firebird-1.5.3.4870/src/qli/expand.cpp >--- firebird-1.5.3.4870.old/src/qli/expand.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/qli/expand.cpp 2006-08-06 08:02:45.000000000 +0200 >@@ -1830,7 +1830,7 @@ > > } > >- item->itm_count = (int) syn_item->syn_arg[0]; >+ item->itm_count = (int)(IPTR) syn_item->syn_arg[0]; > return item; > } > >@@ -2131,7 +2131,7 @@ > /* Handle implicit boolean from SQL xxx IN (yyy FROM relation) */ > > if (input->syn_arg[s_rse_outer]) { >- eql_node = MAKE_NODE((enum nod_t)(int)input->syn_arg[s_rse_op], 2); >+ eql_node = MAKE_NODE((enum nod_t)(int)(IPTR)input->syn_arg[s_rse_op], 2); > eql_node->nod_arg[0] = > expand_expression(input->syn_arg[s_rse_outer], old_stack); > eql_node->nod_arg[1] = >diff -Naur firebird-1.5.3.4870.old/src/qli/gener.cpp firebird-1.5.3.4870/src/qli/gener.cpp >--- firebird-1.5.3.4870.old/src/qli/gener.cpp 2006-08-06 06:47:19.000000000 +0200 >+++ firebird-1.5.3.4870/src/qli/gener.cpp 2006-08-06 08:03:12.000000000 +0200 >@@ -1556,7 +1556,7 @@ > > rlb = CHECK_RLB(request->req_blr); > >- if ((NOD_T) (int) node->nod_arg[e_rse_join_type] == (NOD_T) 0) >+ if ((NOD_T) (int) (IPTR) node->nod_arg[e_rse_join_type] == (NOD_T) 0) > STUFF(blr_rse); > else > STUFF(blr_rs_stream); >@@ -1625,7 +1625,7 @@ > if (list = node->nod_arg[e_rse_reduced]) > gen_sort(list, request, blr_project); > >- join_type = (NOD_T) (int) node->nod_arg[e_rse_join_type]; >+ join_type = (NOD_T) (int) (IPTR) node->nod_arg[e_rse_join_type]; > if (join_type != (NOD_T) 0 && join_type != nod_join_inner) { > STUFF(blr_join_type); > if (join_type == nod_join_left) >diff -Naur firebird-1.5.3.4870.old/src/qli/lex.cpp firebird-1.5.3.4870/src/qli/lex.cpp >--- firebird-1.5.3.4870.old/src/qli/lex.cpp 2006-08-06 06:47:19.000000000 +0200 >+++ firebird-1.5.3.4870/src/qli/lex.cpp 2006-08-06 08:03:26.000000000 +0200 >@@ -597,7 +597,7 @@ > for (temp = QLI_line; > temp->line_next && QLI_statements; > temp = temp->line_next) >-if (temp->line_next->line_position == (SLONG) QLI_statements->lls_object) return; >+if (temp->line_next->line_position == (SLONG) (IPTR) QLI_statements->lls_object) return; > > statement = (LLS) ALLOCP(type_lls); > statement->lls_object = (BLK) temp->line_position; >diff -Naur firebird-1.5.3.4870.old/src/qli/parse.cpp firebird-1.5.3.4870/src/qli/parse.cpp >--- firebird-1.5.3.4870.old/src/qli/parse.cpp 2006-08-06 06:47:19.000000000 +0200 >+++ firebird-1.5.3.4870/src/qli/parse.cpp 2006-08-06 08:04:28.000000000 +0200 >@@ -1524,7 +1524,7 @@ > IBERROR(176); /* Msg176 No statements issued yet */ > > if (MATCH(KW_ASTERISK)) >- LEX_edit((SLONG) 0, (SLONG) statement_list->lls_object); >+ LEX_edit((SLONG) 0, (SLONG) (IPTR) statement_list->lls_object); > else { > if (KEYWORD(KW_SEMI)) > l = 1; >@@ -1534,7 +1534,7 @@ > for (start = stop = statement_list; > l && start->lls_next; l--, start = start->lls_next); > command_end(); >- LEX_edit((SLONG) start->lls_object, (SLONG) stop->lls_object); >+ LEX_edit((SLONG) (IPTR) start->lls_object, (SLONG) (IPTR) stop->lls_object); > } > } > #ifdef PYXIS >@@ -2925,7 +2925,7 @@ > node->syn_arg[0] = INT_CAST 1; > if (op == nod_column || QLI_token->tok_type == tok_number) > node->syn_arg[0] = INT_CAST parse_ordinal(); >- if ((op == nod_skip) && ((int) node->syn_arg[0] < 1)) >+ if ((op == nod_skip) && ((int) (IPTR) node->syn_arg[0] < 1)) > SYNTAX_ERROR(478); /* Msg478 number > 0 */ > } > LLS_PUSH(node, &stack); >diff -Naur firebird-1.5.3.4870.old/src/qli/show.epp firebird-1.5.3.4870/src/qli/show.epp >--- firebird-1.5.3.4870.old/src/qli/show.epp 2006-08-06 06:47:19.000000000 +0200 >+++ firebird-1.5.3.4870/src/qli/show.epp 2006-08-06 08:05:12.000000000 +0200 >@@ -154,7 +154,7 @@ > ptr = node->syn_arg; > > for (i = 0; i < node->syn_count; i++) { >- sw = (ENUM show_t) (int) * ptr++; >+ sw = (ENUM show_t) (int)(IPTR) * ptr++; > value = *ptr++; > if (sw != show_matching_language && > sw != show_version && >diff -Naur firebird-1.5.3.4870.old/src/remote/inet_server.cpp firebird-1.5.3.4870/src/remote/inet_server.cpp >--- firebird-1.5.3.4870.old/src/remote/inet_server.cpp 2006-08-06 06:47:27.000000000 +0200 >+++ firebird-1.5.3.4870/src/remote/inet_server.cpp 2006-08-06 07:59:49.000000000 +0200 >@@ -380,7 +380,7 @@ > if (!debug) { > FD_ZERO(&mask); > FD_SET(2, &mask); >- divorce_terminal((int) &mask); >+ divorce_terminal((int) (IPTR) &mask); > } > { > ISC_STATUS_ARRAY status_vector; >diff -Naur firebird-1.5.3.4870.old/src/remote/interface.cpp firebird-1.5.3.4870/src/remote/interface.cpp >--- firebird-1.5.3.4870.old/src/remote/interface.cpp 2006-08-06 06:47:27.000000000 +0200 >+++ firebird-1.5.3.4870/src/remote/interface.cpp 2006-08-06 07:53:34.000000000 +0200 >@@ -3231,7 +3231,7 @@ > // Nickolay Samofatov: We pass this value to the server (as 32-bit value) > // then it returns it to us and we do not use it. Maybe pass zero here > // to avoid client-side security risks? >- event->p_event_ast = (SLONG) ast; >+ event->p_event_ast = (SLONG)(IPTR) ast; > event->p_event_arg = (SLONG)(IPTR) arg; > > event->p_event_rid = rem_event->rvnt_id; >@@ -6226,8 +6226,8 @@ > for (; to_desc < end_desc; from_desc++, to_desc++) { > from = *from_desc; > to = *to_desc; >- from.dsc_address = from_msg + (SLONG) from.dsc_address; >- to.dsc_address = to_msg + (SLONG) to.dsc_address; >+ from.dsc_address = from_msg + (SLONG)(IPTR) from.dsc_address; >+ to.dsc_address = to_msg + (SLONG)(IPTR) to.dsc_address; > CVT_move(&from, &to, (FPTR_VOID) move_error); > } > >diff -Naur firebird-1.5.3.4870.old/src/remote/protocol.cpp firebird-1.5.3.4870/src/remote/protocol.cpp >--- firebird-1.5.3.4870.old/src/remote/protocol.cpp 2006-08-06 06:47:27.000000000 +0200 >+++ firebird-1.5.3.4870/src/remote/protocol.cpp 2006-08-06 07:53:50.000000000 +0200 >@@ -984,7 +984,7 @@ > BLOB_PTR *p; > SSHORT n; > >- p = buffer + (ULONG) desc->dsc_address; >+ p = buffer + (ULONG) (IPTR) desc->dsc_address; > > switch (desc->dsc_dtype) { > case dtype_text: >diff -Naur firebird-1.5.3.4870.old/src/remote/server.cpp firebird-1.5.3.4870/src/remote/server.cpp >--- firebird-1.5.3.4870.old/src/remote/server.cpp 2006-08-06 06:47:27.000000000 +0200 >+++ firebird-1.5.3.4870/src/remote/server.cpp 2006-08-06 08:00:17.000000000 +0200 >@@ -4361,7 +4361,7 @@ > > // Nickolay Samofatov: We keep this values and even pass them to the client > // (as 32-bit values) when event is fired, but client ignores them. >- p_event->p_event_ast = (SLONG) event->rvnt_ast; >+ p_event->p_event_ast = (SLONG)(IPTR) event->rvnt_ast; > p_event->p_event_arg = (SLONG)(IPTR) event->rvnt_arg; > > p_event->p_event_rid = event->rvnt_rid; >diff -Naur firebird-1.5.3.4870.old/src/utilities/gsec.cpp firebird-1.5.3.4870/src/utilities/gsec.cpp >--- firebird-1.5.3.4870.old/src/utilities/gsec.cpp 2006-08-06 06:47:32.000000000 +0200 >+++ firebird-1.5.3.4870/src/utilities/gsec.cpp 2006-08-06 07:57:42.000000000 +0200 >@@ -96,7 +96,7 @@ > int exit_code; > > exit_code = UTIL_gsec(service->svc_argc, service->svc_argv, >- output_svc, (SLONG) service); >+ output_svc, (SLONG) (IPTR) service); > > /* Mark service thread as finished. */ > /* If service is detached, cleanup memory being used by service. */ >diff -Naur firebird-1.5.3.4870.old/src/wal/walw.cpp firebird-1.5.3.4870/src/wal/walw.cpp >--- firebird-1.5.3.4870.old/src/wal/walw.cpp 2006-08-06 06:47:20.000000000 +0200 >+++ firebird-1.5.3.4870/src/wal/walw.cpp 2006-08-06 07:57:21.000000000 +0200 >@@ -199,7 +199,7 @@ > #ifdef SUPERSERVER > int argc; > >- argc = (int) argv[0]; >+ argc = (int) (IPTR) argv[0]; > #endif > > dbname = ""; >diff -Naur firebird-1.5.3.4870.old/src/dudley/exe.epp firebird-1.5.3.4870/src/dudley/exe.epp >--- firebird-1.5.3.4870.old/src/dudley/exe.epp 2006-08-06 06:47:26.000000000 +0200 >+++ firebird-1.5.3.4870/src/dudley/exe.epp 2006-08-06 08:06:25.000000000 +0200 >@@ -626,7 +626,7 @@ > break; > > case act_d_shadow: >- drop_shadow((SLONG) action->act_object); >+ drop_shadow((SLONG) (IPTR) action->act_object); > break; > > case act_a_generator:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 120867
:
80752
|
82338
| 93546