Author: marcus Date: Sat Apr 14 21:13:01 2012 GMT Module: packages Tag: FIREBIRD_1_5 ---- Log message: - fix for 1.5.6
---- Files affected: packages/Firebird: Firebird-gcc4.patch (1.10 -> 1.10.2.1) ---- Diffs: ================================================================ Index: packages/Firebird/Firebird-gcc4.patch diff -u packages/Firebird/Firebird-gcc4.patch:1.10 packages/Firebird/Firebird-gcc4.patch:1.10.2.1 --- packages/Firebird/Firebird-gcc4.patch:1.10 Wed Feb 28 13:17:41 2007 +++ packages/Firebird/Firebird-gcc4.patch Sat Apr 14 23:12:56 2012 @@ -1,21 +1,11 @@ ---- firebird-1.5.4.4910/src/common/classes/alloc.h.orig 2006-11-05 15:37:52.000000000 +0100 -+++ firebird-1.5.4.4910/src/common/classes/alloc.h 2007-02-17 23:15:18.116389037 +0100 -@@ -241,7 +241,7 @@ - - void operator delete[](void* mem) throw(); - --#ifdef AIX -+#if defined(AIX) || __GNUC__ >= 4 - #define FB_STATIC_INLINE_NEW inline - #else - #define FB_STATIC_INLINE_NEW static inline ---- firebird-1.5.4.4910/src/burp/burp.cpp.orig 2006-11-05 15:37:49.000000000 +0100 -+++ firebird-1.5.4.4910/src/burp/burp.cpp 2007-02-17 23:46:15.538237476 +0100 +diff -uNr firebird-1.5.6.5026.orig/src/burp/burp.cpp firebird-1.5.6.5026/src/burp/burp.cpp +--- firebird-1.5.6.5026.orig/src/burp/burp.cpp 2008-03-27 14:42:48.000000000 +0100 ++++ firebird-1.5.6.5026/src/burp/burp.cpp 2012-04-14 23:05:20.324666123 +0200 @@ -1596,7 +1596,7 @@ #ifndef WIN_NT signal(SIGPIPE, SIG_IGN); #endif -- fil->fil_fd = reinterpret_cast<DESC>(GBAK_STDOUT_DESC); +- fil->fil_fd = (DESC)(GBAK_STDOUT_DESC); + fil->fil_fd = static_cast<DESC>(GBAK_STDOUT_DESC); break; } @@ -24,13 +14,38 @@ tdgbl->action->act_action = ACT_restore; if (!strcmp(fil->fil_name, "stdin")) { -- fil->fil_fd = reinterpret_cast<DESC>(GBAK_STDIN_DESC); +- fil->fil_fd = GBAK_STDIN_DESC; + fil->fil_fd = static_cast<DESC>(GBAK_STDIN_DESC); tdgbl->file_desc = fil->fil_fd; tdgbl->gbl_sw_files = fil->fil_next; } ---- Firebird/src/common/config/config.cpp.org 2007-02-27 23:26:11.922623000 +0100 -+++ Firebird/src/common/config/config.cpp 2007-02-27 23:28:52.958623000 +0100 +diff -uNr firebird-1.5.6.5026.orig/src/burp/canonical.cpp firebird-1.5.6.5026/src/burp/canonical.cpp +--- firebird-1.5.6.5026.orig/src/burp/canonical.cpp 2007-01-22 13:27:47.000000000 +0100 ++++ firebird-1.5.6.5026/src/burp/canonical.cpp 2012-04-14 23:02:47.982845118 +0200 +@@ -505,7 +505,7 @@ + UCHAR *p; + SSHORT n; + +- p = buffer + (int) desc->dsc_address; ++ p = buffer + (int)(IPTR) desc->dsc_address; + + switch (desc->dsc_dtype) + { +diff -uNr firebird-1.5.6.5026.orig/src/common/classes/alloc.h firebird-1.5.6.5026/src/common/classes/alloc.h +--- firebird-1.5.6.5026.orig/src/common/classes/alloc.h 2007-12-17 15:48:31.000000000 +0100 ++++ firebird-1.5.6.5026/src/common/classes/alloc.h 2012-04-14 23:06:38.771543648 +0200 +@@ -241,7 +241,7 @@ + + void operator delete[](void* mem) throw(); + +-#if (defined AIX || defined DARWIN) ++#if (defined AIX || defined DARWIN) || __GNUC__ >= 4 + #define FB_STATIC_INLINE_NEW inline + #else + #define FB_STATIC_INLINE_NEW static inline +diff -uNr firebird-1.5.6.5026.orig/src/common/config/config.cpp firebird-1.5.6.5026/src/common/config/config.cpp +--- firebird-1.5.6.5026.orig/src/common/config/config.cpp 2005-10-01 03:08:41.000000000 +0200 ++++ firebird-1.5.6.5026/src/common/config/config.cpp 2012-04-14 23:02:47.954845518 +0200 @@ -261,12 +261,12 @@ int Config::getSortMemBlockSize() @@ -214,1359 +229,1321 @@ #else return 0; #endif ---- Firebird/src/jrd/common.h.org 2007-02-27 23:37:36.050623000 +0100 -+++ Firebird/src/jrd/common.h 2007-02-27 23:38:29.062623000 +0100 -@@ -874,8 +874,8 @@ +diff -uNr firebird-1.5.6.5026.orig/src/dsql/ddl.cpp firebird-1.5.6.5026/src/dsql/ddl.cpp +--- firebird-1.5.6.5026.orig/src/dsql/ddl.cpp 2005-06-08 15:50:46.000000000 +0200 ++++ firebird-1.5.6.5026/src/dsql/ddl.cpp 2012-04-14 23:02:47.978845175 +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)); + } - #define JRD_BUGCHK 15 /* facility code for bugcheck messages */ - #ifndef OFFSET --#define OFFSET(struct,fld) ((int) &((struct) 0)->fld) --#define OFFSETA(struct,fld) ((int) ((struct) 0)->fld) -+#define OFFSET(struct,fld) ((int)(IPTR) &((struct) 0)->fld) -+#define OFFSETA(struct,fld) ((int)(IPTR) ((struct) 0)->fld) - #endif + 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); + } - #ifndef ODS_ALIGNMENT ---- Firebird/src/jrd/gds.cpp.org 2007-02-27 23:31:23.778623000 +0100 -+++ Firebird/src/jrd/gds.cpp 2007-02-27 23:39:16.538623000 +0100 -@@ -2287,7 +2287,7 @@ - return result; +@@ -1270,7 +1270,7 @@ - if (stdio_flag) -- if (!(result = ib_fdopen((int) result, "w+"))) -+ if (!(result = ib_fdopen((int)(IPTR) result, "w+"))) - return (void *)-1; + switch (element->nod_type) { + case nod_file_length: +- start = (SLONG) (element->nod_arg[0]) + 1; ++ start = (SLONG)(IPTR) (element->nod_arg[0]) + 1; + break; - if (expanded_string) ---- Firebird/src/gpre/cme.cpp.org 2007-02-27 23:39:38.878623000 +0100 -+++ Firebird/src/gpre/cme.cpp 2007-02-27 23:40:09.686623000 +0100 -@@ -251,7 +251,7 @@ - // ** Begin date/time/timestamp support * - case nod_extract: - STUFF(blr_extract); -- switch ((KWWORDS) (int) node->nod_arg[0]) -+ switch ((KWWORDS) (int)(IPTR) node->nod_arg[0]) - { - case KW_YEAR: - STUFF(blr_extract_year); -@@ -478,7 +478,7 @@ - // ** Begin date/time/timestamp support * - case nod_extract: - { -- KWWORDS kw_word = (KWWORDS) (int) node->nod_arg[0]; -+ KWWORDS kw_word = (KWWORDS) (int)(IPTR) node->nod_arg[0]; - CME_get_dtype(node->nod_arg[1], f); - switch (f->fld_dtype) - { ---- Firebird/src/gpre/c_cxx.cpp.org 2007-02-27 23:40:26.886623000 +0100 -+++ Firebird/src/gpre/c_cxx.cpp 2007-02-27 23:41:05.806623000 +0100 -@@ -2184,7 +2184,7 @@ + default: +@@ -1336,25 +1336,25 @@ - args.pat_database = (DBB) init->nod_arg[3]; - args.pat_vector1 = status_vector(action); -- args.pat_long1 = (int) init->nod_arg[2]; -+ args.pat_long1 = (int)(IPTR) init->nod_arg[2]; - args.pat_value2 = (int) event_list->nod_count; + 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; - // generate call to dynamically generate event blocks -@@ -2255,7 +2255,7 @@ - event_init = (GPRE_NOD) event_action->act_object; - stack_name = (SYM) event_init->nod_arg[0]; - if (!strcmp(event_name->sym_string, stack_name->sym_string)) { -- ident = (int) event_init->nod_arg[2]; -+ ident = (int)(IPTR) event_init->nod_arg[2]; - database = (DBB) event_init->nod_arg[3]; - } - } ---- Firebird/src/jrd/sdl.cpp.org 2007-02-27 23:41:38.546623000 +0100 -+++ Firebird/src/jrd/sdl.cpp 2007-02-27 23:41:48.982623000 +0100 -@@ -701,7 +701,7 @@ - } - element_desc = array_desc->ads_rpt[value].ads_desc; - element_desc.dsc_address = (BLOB_PTR *) arg->sdl_arg_array + -- (SLONG) element_desc.dsc_address + -+ (SLONG)(IPTR) element_desc.dsc_address + - (array_desc->ads_element_length * subscript); + 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; - /* Is this element within the array bounds? */ ---- Firebird/src/jrd/blb.cpp.org 2007-02-27 23:45:22.954623000 +0100 -+++ Firebird/src/jrd/blb.cpp 2007-02-27 23:45:34.610623000 +0100 -@@ -861,7 +861,7 @@ - source = (BID) from_desc->dsc_address; - destination = (BID) to_desc->dsc_address; - id = (USHORT) (IPTR) field->nod_arg[e_fld_id]; -- rpb = &request->req_rpb[(int) field->nod_arg[e_fld_stream]]; -+ rpb = &request->req_rpb[(int) (IPTR) field->nod_arg[e_fld_stream]]; - relation = rpb->rpb_relation; - record = rpb->rpb_record; + 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; ---- Firebird/src/jrd/cmp.cpp.org 2007-02-27 23:45:52.962623000 +0100 -+++ Firebird/src/jrd/cmp.cpp 2007-02-27 23:46:14.266623000 +0100 -@@ -1661,7 +1661,7 @@ - return; + 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_extract: -- if ((ULONG) node->nod_arg[e_extract_part] == blr_extract_second) { -+ if ((ULONG) (IPTR) node->nod_arg[e_extract_part] == blr_extract_second) { - /* QUADDATE - SECOND returns a float, or scaled! */ - desc->dsc_dtype = dtype_long; - desc->dsc_length = sizeof(ULONG); -@@ -1720,7 +1720,7 @@ +@@ -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); + } - message = node->nod_arg[e_arg_message]; - format = (FMT) message->nod_arg[e_msg_format]; -- *desc = format->fmt_desc[(int) node->nod_arg[e_arg_number]]; -+ *desc = format->fmt_desc[(int) (IPTR) node->nod_arg[e_arg_number]]; - return; - } +- 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])); ---- Firebird/src/jrd/evl.cpp.org 2007-02-27 23:46:46.350623000 +0100 -+++ Firebird/src/jrd/evl.cpp 2007-02-27 23:49:01.206623000 +0100 -@@ -248,7 +248,7 @@ - arg_number = (int)(IPTR)node->nod_arg[e_arg_number]; - desc = &format->fmt_desc[arg_number]; - impure->vlu_desc.dsc_address = -- (UCHAR *) request + message->nod_impure + (int) desc->dsc_address; -+ (UCHAR *) request + message->nod_impure + (int) (IPTR) desc->dsc_address; - impure->vlu_desc.dsc_dtype = desc->dsc_dtype; - impure->vlu_desc.dsc_length = desc->dsc_length; - impure->vlu_desc.dsc_scale = desc->dsc_scale; -@@ -288,7 +288,7 @@ - // may happen. I checked triggers and insert/update statements. - // All seem to work fine. - record = -- request->req_rpb[(int) node->nod_arg[e_fld_stream]].rpb_record; -+ request->req_rpb[(int) (IPTR) node->nod_arg[e_fld_stream]].rpb_record; - EVL_field(0, record, (USHORT) (IPTR) node->nod_arg[e_fld_id], - &impure->vlu_desc); - if (!impure->vlu_desc.dsc_address) -@@ -828,10 +828,10 @@ - } - message = node->nod_arg[e_arg_message]; - format = (FMT) message->nod_arg[e_msg_format]; -- desc = &format->fmt_desc[(int) node->nod_arg[e_arg_number]]; -+ desc = &format->fmt_desc[(int) (IPTR) node->nod_arg[e_arg_number]]; + request->append_file_start(0); - impure->vlu_desc.dsc_address = (UCHAR *) request + -- message->nod_impure + (int) desc->dsc_address; -+ message->nod_impure + (int) (IPTR) desc->dsc_address; - impure->vlu_desc.dsc_dtype = desc->dsc_dtype; - impure->vlu_desc.dsc_length = desc->dsc_length; - impure->vlu_desc.dsc_scale = desc->dsc_scale; -@@ -851,7 +851,7 @@ - case nod_field: - { - REC record = -- request->req_rpb[(int)node->nod_arg[e_fld_stream]].rpb_record; -+ request->req_rpb[(int)(IPTR)node->nod_arg[e_fld_stream]].rpb_record; - /* In order to "map a null to a default" value (in EVL_field()), - * the relation block is referenced. - * Reference: Bug 10116, 10424 -@@ -997,7 +997,7 @@ - ULONG extract_part; +- SLONG length = (SLONG) ptr[e_shadow_length]; ++ SLONG length = (SLONG)(IPTR) ptr[e_shadow_length]; + request->append_file_length(length); - impure = (VLU) ((SCHAR *) request + node->nod_impure); -- extract_part = (ULONG) node->nod_arg[e_extract_part]; -+ extract_part = (ULONG) (IPTR) node->nod_arg[e_extract_part]; - value = EVL_expr(tdbb, node->nod_arg[e_extract_value]); + request->append_uchar(gds_dyn_end); +@@ -2806,15 +2806,15 @@ - impure->vlu_desc.dsc_dtype = dtype_short; -@@ -1174,7 +1174,7 @@ - switch (node->nod_type) { - case nod_gen_id: /* return a 32-bit generator value */ - impure->vlu_misc.vlu_long = (SLONG) DPM_gen_id(tdbb, -- (SLONG) -+ (SLONG) (IPTR) - node->nod_arg - [e_gen_id], 0, - MOV_get_int64 -@@ -1189,7 +1189,7 @@ + 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]); - case nod_gen_id2: - impure->vlu_misc.vlu_int64 = DPM_gen_id(tdbb, -- (SLONG) -+ (SLONG) (IPTR) - node->nod_arg[e_gen_id], - 0, - MOV_get_int64(values[0], -@@ -1383,7 +1383,7 @@ - return FALSE; - } - -- desc->dsc_address = record->rec_data + (int) desc->dsc_address; -+ desc->dsc_address = record->rec_data + (int) (IPTR) desc->dsc_address; + 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 (TEST_NULL(record, id)) { - desc->dsc_flags |= DSC_null; -@@ -1727,7 +1727,7 @@ - field = (*ptr)->nod_arg[e_asgn_to]; - id = (USHORT) (IPTR) field->nod_arg[e_fld_id]; - record = -- request->req_rpb[(int) field->nod_arg[e_fld_stream]].rpb_record; -+ request->req_rpb[(int) (IPTR) field->nod_arg[e_fld_stream]].rpb_record; - impure = (VLUX) ((SCHAR *) request + from->nod_impure); - switch (from->nod_type) + 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) { -@@ -3395,7 +3395,7 @@ + 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 */ - request = tdbb->tdbb_request; - impure = (VLU) ((SCHAR *) request + node->nod_impure); -- rpb = &request->req_rpb[(int) node->nod_arg[0]]; -+ rpb = &request->req_rpb[(int)(IPTR) node->nod_arg[0]]; - relation = rpb->rpb_relation; +- 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>" - /* Format dbkey as vector of relation id, record number */ -@@ -4487,7 +4487,7 @@ - request = tdbb->tdbb_request; - impure = (VLU) ((SCHAR *) request + node->nod_impure); -- rpb = &request->req_rpb[(int) node->nod_arg[0]]; -+ rpb = &request->req_rpb[(int)(IPTR) node->nod_arg[0]]; +- 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 the current transaction has updated the record, the record version - * coming in from DSQL will have the original transaction # (or current ---- Firebird/src/jrd/exe.cpp.org 2007-02-27 23:49:26.026623000 +0100 -+++ Firebird/src/jrd/exe.cpp 2007-02-27 23:50:30.090623000 +0100 -@@ -376,7 +376,7 @@ - if (to->nod_type == nod_field) - { - SSHORT id = (USHORT) (IPTR) to->nod_arg[e_fld_id]; -- REC record = request->req_rpb[(int) to->nod_arg[e_fld_stream]].rpb_record; -+ REC record = request->req_rpb[(int)(IPTR) to->nod_arg[e_fld_stream]].rpb_record; - if (null) { - SET_NULL(record, id); - } else { -@@ -1049,7 +1049,7 @@ - desc = &format->fmt_desc[n]; - if (!desc->dsc_address) - continue; -- p = record->rec_data + (SLONG) desc->dsc_address; -+ p = record->rec_data + (SLONG)(IPTR) desc->dsc_address; - if (TEST_NULL(record, n)) + if (!arguments || position > arguments->nod_count || position < 1) { +@@ -3024,10 +3024,10 @@ + if (field->fld_dtype == dtype_blob) { - if (length = desc->dsc_length) -@@ -1134,7 +1134,7 @@ - - request = tdbb->tdbb_request; - transaction = request->req_transaction; -- rpb = &request->req_rpb[(int) node->nod_arg[e_erase_stream]]; -+ rpb = &request->req_rpb[(int)(IPTR) node->nod_arg[e_erase_stream]]; - relation = rpb->rpb_relation; + /* 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)); ++ (SSHORT)(SLONG)(IPTR) ((free_it ? -1 : 1) * FUN_blob_struct)); + /* if we have the free_it set then the blob has + to be freed on return */ + } +@@ -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])); + } - #ifdef PC_ENGINE -@@ -2652,7 +2652,7 @@ - DSC *desc; + request->append_cstring(gds_dyn_function_name, udf_name); +@@ -3070,7 +3070,7 @@ + request->append_number(gds_dyn_def_function_arg, (SSHORT) position); - desc = EVL_expr(tdbb, node->nod_arg[e_gen_value]); -- (void) DPM_gen_id(tdbb, (SLONG) node->nod_arg[e_gen_id], 1, -+ (void) DPM_gen_id(tdbb, (SLONG)(IPTR) node->nod_arg[e_gen_id], 1, - MOV_get_int64(desc, 0)); - request->req_operation = jrd_req::req_return; - } -@@ -2664,7 +2664,7 @@ - DSC *desc; + 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)); + } - desc = EVL_expr(tdbb, node->nod_arg[e_gen_value]); -- (void) DPM_gen_id(tdbb, (SLONG) node->nod_arg[e_gen_id], 1, -+ (void) DPM_gen_id(tdbb, (SLONG)(IPTR) node->nod_arg[e_gen_id], 1, - MOV_get_int64(desc, 0)); - request->req_operation = jrd_req::req_return; - } ---- Firebird/src/jrd/ext.cpp.org 2007-02-27 23:50:53.198623000 +0100 -+++ Firebird/src/jrd/ext.cpp 2007-02-27 23:51:19.166623000 +0100 -@@ -299,7 +299,7 @@ - continue; - if ( (literal = (LIT) field->fld_missing_value) ) { - desc = *desc_ptr; -- desc.dsc_address = record->rec_data + (int) desc.dsc_address; -+ desc.dsc_address = record->rec_data + (int) (IPTR) desc.dsc_address; - if (!MOV_compare(&literal->lit_desc, &desc)) - continue; - } -@@ -512,7 +512,7 @@ - desc_ptr->dsc_length && - TEST_NULL(record, i)) - { -- p = record->rec_data + (int) desc_ptr->dsc_address; -+ p = record->rec_data + (int) (IPTR) desc_ptr->dsc_address; - if ( (literal = (LIT) field->fld_missing_value) ) { - desc = *desc_ptr; - desc.dsc_address = p; ---- Firebird/src/jrd/idx.cpp.org 2007-02-27 23:51:42.758623000 +0100 -+++ Firebird/src/jrd/idx.cpp 2007-02-27 23:51:52.130623000 +0100 -@@ -1058,7 +1058,7 @@ - (UCHAR) (IPTR) (*idx->idx_foreign_primaries)[index_number]) continue; - partner_relation = - MET_relation(tdbb, -- (int) (*idx->idx_foreign_relations)[index_number]); -+ (int) (IPTR) (*idx->idx_foreign_relations)[index_number]); - index_id = - (USHORT) (IPTR) (*idx->idx_foreign_indexes)[index_number]; - if ( (result = ---- Firebird/src/jrd/inf.cpp.org 2007-02-27 23:52:13.402623000 +0100 -+++ Firebird/src/jrd/inf.cpp 2007-02-27 23:52:25.830623000 +0100 -@@ -973,7 +973,7 @@ - node = request->req_message; - if (item == gds_info_message_number) - length = -- INF_convert((SLONG) node->nod_arg[e_msg_number], -+ INF_convert((SLONG)(IPTR) node->nod_arg[e_msg_number], - buffer_ptr); - else { - format = (FMT) node->nod_arg[e_msg_format]; ---- Firebird/src/jrd/jrd.cpp.org 2007-02-27 23:52:47.034623000 +0100 -+++ Firebird/src/jrd/jrd.cpp 2007-02-27 23:53:44.414623000 +0100 -@@ -3877,9 +3877,9 @@ + constant = node->nod_arg[e_cnstr_type]; + if (constant) { - 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; - } - } ---- Firebird/src/jrd/jrd.h.org 2007-02-27 23:54:08.442623000 +0100 -+++ Firebird/src/jrd/jrd.h 2007-02-27 23:54:30.994623000 +0100 -@@ -1050,8 +1050,10 @@ +- 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 @@ - #if !defined(REQUESTER) + 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; -+extern "C" { - extern int debug; - extern IHNDL internal_db_handles; -+} +@@ -4611,25 +4611,25 @@ - #endif /* REQUESTER */ + 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; ---- Firebird/src/jrd/jrn.cpp.org 2007-02-27 23:55:28.466623000 +0100 -+++ Firebird/src/jrd/jrn.cpp 2007-02-27 23:57:02.762623000 +0100 -@@ -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) <<Diff was trimmed, longer than 597 lines>> ---- CVS-web: http://cvs.pld-linux.org/packages/Firebird/Firebird-gcc4.patch?r1=1.10&r2=1.10.2.1 _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit