]> git.pld-linux.org Git - packages/Firebird.git/blame - Firebird-gcc4.patch
- kill ReleaseCandidate1
[packages/Firebird.git] / Firebird-gcc4.patch
CommitLineData
5472bf2d
JB
1--- firebird-1.5.4.4910/src/common/classes/alloc.h.orig 2006-11-05 15:37:52.000000000 +0100
2+++ firebird-1.5.4.4910/src/common/classes/alloc.h 2007-02-17 23:15:18.116389037 +0100
3@@ -241,7 +241,7 @@
4
5 void operator delete[](void* mem) throw();
6
7-#ifdef AIX
8+#if defined(AIX) || __GNUC__ >= 4
9 #define FB_STATIC_INLINE_NEW inline
10 #else
11 #define FB_STATIC_INLINE_NEW static inline
12--- firebird-1.5.4.4910/src/burp/burp.cpp.orig 2006-11-05 15:37:49.000000000 +0100
13+++ firebird-1.5.4.4910/src/burp/burp.cpp 2007-02-17 23:46:15.538237476 +0100
14@@ -1596,7 +1596,7 @@
14c8a3f8
AM
15 #ifndef WIN_NT
16 signal(SIGPIPE, SIG_IGN);
17 #endif
18- fil->fil_fd = reinterpret_cast<DESC>(GBAK_STDOUT_DESC);
5472bf2d 19+ fil->fil_fd = static_cast<DESC>(GBAK_STDOUT_DESC);
14c8a3f8
AM
20 break;
21 }
22 else
5472bf2d 23@@ -1714,7 +1714,7 @@
14c8a3f8
AM
24
25 tdgbl->action->act_action = ACT_restore;
26 if (!strcmp(fil->fil_name, "stdin")) {
27- fil->fil_fd = reinterpret_cast<DESC>(GBAK_STDIN_DESC);
5472bf2d 28+ fil->fil_fd = static_cast<DESC>(GBAK_STDIN_DESC);
14c8a3f8
AM
29 tdgbl->file_desc = fil->fil_fd;
30 tdgbl->gbl_sw_files = fil->fil_next;
31 }
a6bbc5c1
AM
32--- Firebird/src/common/config/config.cpp.org 2007-02-27 23:26:11.922623000 +0100
33+++ Firebird/src/common/config/config.cpp 2007-02-27 23:28:52.958623000 +0100
34@@ -261,12 +261,12 @@
35
36 int Config::getSortMemBlockSize()
37 {
38- return (int) sysConfig.values[KEY_SORT_MEM_BLOCK_SIZE];
39+ return (int)(IPTR) sysConfig.values[KEY_SORT_MEM_BLOCK_SIZE];
40 }
41
42 int Config::getSortMemUpperLimit()
43 {
44- return (int) sysConfig.values[KEY_SORT_MEM_UPPER_LIMIT];
45+ return (int)(IPTR) sysConfig.values[KEY_SORT_MEM_UPPER_LIMIT];
46 }
47
48 bool Config::getRemoteFileOpenAbility()
49@@ -276,12 +276,12 @@
50
51 int Config::getGuardianOption()
52 {
53- return (int) sysConfig.values[KEY_GUARDIAN_OPTION];
54+ return (int)(IPTR) sysConfig.values[KEY_GUARDIAN_OPTION];
55 }
56
57 int Config::getCpuAffinityMask()
58 {
59- return (int) sysConfig.values[KEY_CPU_AFFINITY_MASK];
60+ return (int)(IPTR) sysConfig.values[KEY_CPU_AFFINITY_MASK];
61 }
62
63 bool Config::getOldParameterOrdering()
64@@ -291,7 +291,7 @@
65
66 int Config::getTcpRemoteBufferSize()
67 {
68- return (int) sysConfig.values[KEY_TCP_REMOTE_BUFFER_SIZE];
69+ return (int)(IPTR) sysConfig.values[KEY_TCP_REMOTE_BUFFER_SIZE];
70 }
71
72 bool Config::getTcpNoNagle()
73@@ -301,37 +301,37 @@
74
75 int Config::getIpcMapSize()
76 {
77- return (int) sysConfig.values[KEY_IPC_MAP_SIZE];
78+ return (int)(IPTR) sysConfig.values[KEY_IPC_MAP_SIZE];
79 }
80
81 int Config::getDefaultDbCachePages()
82 {
83- return (int) sysConfig.values[KEY_DEFAULT_DB_CACHE_PAGES];
84+ return (int)(IPTR) sysConfig.values[KEY_DEFAULT_DB_CACHE_PAGES];
85 }
86
87 int Config::getConnectionTimeout()
88 {
89- return (int) sysConfig.values[KEY_CONNECTION_TIMEOUT];
90+ return (int)(IPTR) sysConfig.values[KEY_CONNECTION_TIMEOUT];
91 }
92
93 int Config::getDummyPacketInterval()
94 {
95- return (int) sysConfig.values[KEY_DUMMY_PACKET_INTERVAL];
96+ return (int)(IPTR) sysConfig.values[KEY_DUMMY_PACKET_INTERVAL];
97 }
98
99 int Config::getLockMemSize()
100 {
101- return (int) sysConfig.values[KEY_LOCK_MEM_SIZE];
102+ return (int)(IPTR) sysConfig.values[KEY_LOCK_MEM_SIZE];
103 }
104
105 int Config::getLockSemCount()
106 {
107- return (int) sysConfig.values[KEY_LOCK_SEM_COUNT];
108+ return (int)(IPTR) sysConfig.values[KEY_LOCK_SEM_COUNT];
109 }
110
111 int Config::getLockSignal()
112 {
113- return (int) sysConfig.values[KEY_LOCK_SIGNAL];
114+ return (int)(IPTR) sysConfig.values[KEY_LOCK_SIGNAL];
115 }
116
117 bool Config::getLockGrantOrder()
118@@ -341,27 +341,27 @@
119
120 int Config::getLockHashSlots()
121 {
122- return (int) sysConfig.values[KEY_LOCK_HASH_SLOTS];
123+ return (int)(IPTR) sysConfig.values[KEY_LOCK_HASH_SLOTS];
124 }
125
126 int Config::getLockAcquireSpins()
127 {
128- return (int) sysConfig.values[KEY_LOCK_ACQUIRE_SPINS];
129+ return (int)(IPTR) sysConfig.values[KEY_LOCK_ACQUIRE_SPINS];
130 }
131
132 int Config::getEventMemSize()
133 {
134- return (int) sysConfig.values[KEY_EVENT_MEM_SIZE];
135+ return (int)(IPTR) sysConfig.values[KEY_EVENT_MEM_SIZE];
136 }
137
138 int Config::getDeadlockTimeout()
139 {
140- return (int) sysConfig.values[KEY_DEADLOCK_TIMEOUT];
141+ return (int)(IPTR) sysConfig.values[KEY_DEADLOCK_TIMEOUT];
142 }
143
144 int Config::getSolarisStallValue()
145 {
146- return (int) sysConfig.values[KEY_SOLARIS_STALL_VALUE];
147+ return (int)(IPTR) sysConfig.values[KEY_SOLARIS_STALL_VALUE];
148 }
149
150 bool Config::getTraceMemoryPools()
151@@ -371,7 +371,7 @@
152
153 int Config::getPrioritySwitchDelay()
154 {
155- int rc = (int) sysConfig.values[KEY_PRIORITY_SWITCH_DELAY];
156+ int rc = (int) (IPTR) sysConfig.values[KEY_PRIORITY_SWITCH_DELAY];
157 if (rc < 1)
158 rc = 1;
159 return rc;
160@@ -379,7 +379,7 @@
161
162 int Config::getDeadThreadsCollection()
163 {
164- int rc = (int) sysConfig.values[KEY_DEAD_THREADS_COLLECTION];
165+ int rc = (int) (IPTR) sysConfig.values[KEY_DEAD_THREADS_COLLECTION];
166 if (rc < 1)
167 rc = 1;
168 return rc;
169@@ -387,7 +387,7 @@
170
171 int Config::getPriorityBoost()
172 {
173- int rc = (int) sysConfig.values[KEY_PRIORITY_BOOST];
174+ int rc = (int) (IPTR) sysConfig.values[KEY_PRIORITY_BOOST];
175 if (rc < 1)
176 rc = 1;
177 if (rc > 1000)
178@@ -402,7 +402,7 @@
179
180 int Config::getRemoteServicePort()
181 {
182- return (int) sysConfig.values[KEY_REMOTE_SERVICE_PORT];
183+ return (int)(IPTR) sysConfig.values[KEY_REMOTE_SERVICE_PORT];
184 }
185
186 const char *Config::getRemotePipeName()
187@@ -417,17 +417,17 @@
188
189 int Config::getMaxUnflushedWrites()
190 {
191- return (int) sysConfig.values[KEY_MAX_UNFLUSHED_WRITES];
192+ return (int)(IPTR) sysConfig.values[KEY_MAX_UNFLUSHED_WRITES];
193 }
194
195 int Config::getMaxUnflushedWriteTime()
196 {
197- return (int) sysConfig.values[KEY_MAX_UNFLUSHED_WRITE_TIME];
198+ return (int)(IPTR) sysConfig.values[KEY_MAX_UNFLUSHED_WRITE_TIME];
199 }
200
201 int Config::getProcessPriorityLevel()
202 {
203- return (int) sysConfig.values[KEY_PROCESS_PRIORITY_LEVEL];
204+ return (int)(IPTR) sysConfig.values[KEY_PROCESS_PRIORITY_LEVEL];
205 }
206
207 bool Config::getCreateInternalWindow()
208@@ -443,7 +443,7 @@
209 int Config::getRemoteAuxPort()
210 {
211 #ifdef SUPERSERVER
212- return (int) sysConfig.values[KEY_REMOTE_AUX_PORT];
213+ return (int)(IPTR) sysConfig.values[KEY_REMOTE_AUX_PORT];
214 #else
215 return 0;
216 #endif
217--- Firebird/src/jrd/common.h.org 2007-02-27 23:37:36.050623000 +0100
218+++ Firebird/src/jrd/common.h 2007-02-27 23:38:29.062623000 +0100
219@@ -874,8 +874,8 @@
220
221 #define JRD_BUGCHK 15 /* facility code for bugcheck messages */
222 #ifndef OFFSET
223-#define OFFSET(struct,fld) ((int) &((struct) 0)->fld)
224-#define OFFSETA(struct,fld) ((int) ((struct) 0)->fld)
225+#define OFFSET(struct,fld) ((int)(IPTR) &((struct) 0)->fld)
226+#define OFFSETA(struct,fld) ((int)(IPTR) ((struct) 0)->fld)
227 #endif
228
229 #ifndef ODS_ALIGNMENT
230--- Firebird/src/jrd/gds.cpp.org 2007-02-27 23:31:23.778623000 +0100
231+++ Firebird/src/jrd/gds.cpp 2007-02-27 23:39:16.538623000 +0100
232@@ -2287,7 +2287,7 @@
233 return result;
234
235 if (stdio_flag)
236- if (!(result = ib_fdopen((int) result, "w+")))
237+ if (!(result = ib_fdopen((int)(IPTR) result, "w+")))
238 return (void *)-1;
239
240 if (expanded_string)
241--- Firebird/src/gpre/cme.cpp.org 2007-02-27 23:39:38.878623000 +0100
242+++ Firebird/src/gpre/cme.cpp 2007-02-27 23:40:09.686623000 +0100
243@@ -251,7 +251,7 @@
244 // ** Begin date/time/timestamp support *
245 case nod_extract:
246 STUFF(blr_extract);
247- switch ((KWWORDS) (int) node->nod_arg[0])
248+ switch ((KWWORDS) (int)(IPTR) node->nod_arg[0])
249 {
250 case KW_YEAR:
251 STUFF(blr_extract_year);
252@@ -478,7 +478,7 @@
253 // ** Begin date/time/timestamp support *
254 case nod_extract:
255 {
256- KWWORDS kw_word = (KWWORDS) (int) node->nod_arg[0];
257+ KWWORDS kw_word = (KWWORDS) (int)(IPTR) node->nod_arg[0];
258 CME_get_dtype(node->nod_arg[1], f);
259 switch (f->fld_dtype)
260 {
261--- Firebird/src/gpre/c_cxx.cpp.org 2007-02-27 23:40:26.886623000 +0100
262+++ Firebird/src/gpre/c_cxx.cpp 2007-02-27 23:41:05.806623000 +0100
263@@ -2184,7 +2184,7 @@
264
265 args.pat_database = (DBB) init->nod_arg[3];
266 args.pat_vector1 = status_vector(action);
267- args.pat_long1 = (int) init->nod_arg[2];
268+ args.pat_long1 = (int)(IPTR) init->nod_arg[2];
269 args.pat_value2 = (int) event_list->nod_count;
270
271 // generate call to dynamically generate event blocks
272@@ -2255,7 +2255,7 @@
273 event_init = (GPRE_NOD) event_action->act_object;
274 stack_name = (SYM) event_init->nod_arg[0];
275 if (!strcmp(event_name->sym_string, stack_name->sym_string)) {
276- ident = (int) event_init->nod_arg[2];
277+ ident = (int)(IPTR) event_init->nod_arg[2];
278 database = (DBB) event_init->nod_arg[3];
279 }
280 }
281--- Firebird/src/jrd/sdl.cpp.org 2007-02-27 23:41:38.546623000 +0100
282+++ Firebird/src/jrd/sdl.cpp 2007-02-27 23:41:48.982623000 +0100
283@@ -701,7 +701,7 @@
284 }
285 element_desc = array_desc->ads_rpt[value].ads_desc;
286 element_desc.dsc_address = (BLOB_PTR *) arg->sdl_arg_array +
287- (SLONG) element_desc.dsc_address +
288+ (SLONG)(IPTR) element_desc.dsc_address +
289 (array_desc->ads_element_length * subscript);
290
291 /* Is this element within the array bounds? */
292--- Firebird/src/jrd/blb.cpp.org 2007-02-27 23:45:22.954623000 +0100
293+++ Firebird/src/jrd/blb.cpp 2007-02-27 23:45:34.610623000 +0100
294@@ -861,7 +861,7 @@
295 source = (BID) from_desc->dsc_address;
296 destination = (BID) to_desc->dsc_address;
297 id = (USHORT) (IPTR) field->nod_arg[e_fld_id];
298- rpb = &request->req_rpb[(int) field->nod_arg[e_fld_stream]];
299+ rpb = &request->req_rpb[(int) (IPTR) field->nod_arg[e_fld_stream]];
300 relation = rpb->rpb_relation;
301 record = rpb->rpb_record;
302
303--- Firebird/src/jrd/cmp.cpp.org 2007-02-27 23:45:52.962623000 +0100
304+++ Firebird/src/jrd/cmp.cpp 2007-02-27 23:46:14.266623000 +0100
305@@ -1661,7 +1661,7 @@
306 return;
307
308 case nod_extract:
309- if ((ULONG) node->nod_arg[e_extract_part] == blr_extract_second) {
310+ if ((ULONG) (IPTR) node->nod_arg[e_extract_part] == blr_extract_second) {
311 /* QUADDATE - SECOND returns a float, or scaled! */
312 desc->dsc_dtype = dtype_long;
313 desc->dsc_length = sizeof(ULONG);
314@@ -1720,7 +1720,7 @@
315
316 message = node->nod_arg[e_arg_message];
317 format = (FMT) message->nod_arg[e_msg_format];
318- *desc = format->fmt_desc[(int) node->nod_arg[e_arg_number]];
319+ *desc = format->fmt_desc[(int) (IPTR) node->nod_arg[e_arg_number]];
320 return;
321 }
322
323--- Firebird/src/jrd/evl.cpp.org 2007-02-27 23:46:46.350623000 +0100
324+++ Firebird/src/jrd/evl.cpp 2007-02-27 23:49:01.206623000 +0100
325@@ -248,7 +248,7 @@
326 arg_number = (int)(IPTR)node->nod_arg[e_arg_number];
327 desc = &format->fmt_desc[arg_number];
328 impure->vlu_desc.dsc_address =
329- (UCHAR *) request + message->nod_impure + (int) desc->dsc_address;
330+ (UCHAR *) request + message->nod_impure + (int) (IPTR) desc->dsc_address;
331 impure->vlu_desc.dsc_dtype = desc->dsc_dtype;
332 impure->vlu_desc.dsc_length = desc->dsc_length;
333 impure->vlu_desc.dsc_scale = desc->dsc_scale;
334@@ -288,7 +288,7 @@
335 // may happen. I checked triggers and insert/update statements.
336 // All seem to work fine.
337 record =
338- request->req_rpb[(int) node->nod_arg[e_fld_stream]].rpb_record;
339+ request->req_rpb[(int) (IPTR) node->nod_arg[e_fld_stream]].rpb_record;
340 EVL_field(0, record, (USHORT) (IPTR) node->nod_arg[e_fld_id],
341 &impure->vlu_desc);
342 if (!impure->vlu_desc.dsc_address)
343@@ -828,10 +828,10 @@
344 }
345 message = node->nod_arg[e_arg_message];
346 format = (FMT) message->nod_arg[e_msg_format];
347- desc = &format->fmt_desc[(int) node->nod_arg[e_arg_number]];
348+ desc = &format->fmt_desc[(int) (IPTR) node->nod_arg[e_arg_number]];
349
350 impure->vlu_desc.dsc_address = (UCHAR *) request +
351- message->nod_impure + (int) desc->dsc_address;
352+ message->nod_impure + (int) (IPTR) desc->dsc_address;
353 impure->vlu_desc.dsc_dtype = desc->dsc_dtype;
354 impure->vlu_desc.dsc_length = desc->dsc_length;
355 impure->vlu_desc.dsc_scale = desc->dsc_scale;
356@@ -851,7 +851,7 @@
357 case nod_field:
358 {
359 REC record =
360- request->req_rpb[(int)node->nod_arg[e_fld_stream]].rpb_record;
361+ request->req_rpb[(int)(IPTR)node->nod_arg[e_fld_stream]].rpb_record;
362 /* In order to "map a null to a default" value (in EVL_field()),
363 * the relation block is referenced.
364 * Reference: Bug 10116, 10424
365@@ -997,7 +997,7 @@
366 ULONG extract_part;
367
368 impure = (VLU) ((SCHAR *) request + node->nod_impure);
369- extract_part = (ULONG) node->nod_arg[e_extract_part];
370+ extract_part = (ULONG) (IPTR) node->nod_arg[e_extract_part];
371 value = EVL_expr(tdbb, node->nod_arg[e_extract_value]);
372
373 impure->vlu_desc.dsc_dtype = dtype_short;
374@@ -1174,7 +1174,7 @@
375 switch (node->nod_type) {
376 case nod_gen_id: /* return a 32-bit generator value */
377 impure->vlu_misc.vlu_long = (SLONG) DPM_gen_id(tdbb,
378- (SLONG)
379+ (SLONG) (IPTR)
380 node->nod_arg
381 [e_gen_id], 0,
382 MOV_get_int64
383@@ -1189,7 +1189,7 @@
384
385 case nod_gen_id2:
386 impure->vlu_misc.vlu_int64 = DPM_gen_id(tdbb,
387- (SLONG)
388+ (SLONG) (IPTR)
389 node->nod_arg[e_gen_id],
390 0,
391 MOV_get_int64(values[0],
392@@ -1383,7 +1383,7 @@
393 return FALSE;
394 }
395
396- desc->dsc_address = record->rec_data + (int) desc->dsc_address;
397+ desc->dsc_address = record->rec_data + (int) (IPTR) desc->dsc_address;
398
399 if (TEST_NULL(record, id)) {
400 desc->dsc_flags |= DSC_null;
401@@ -1727,7 +1727,7 @@
402 field = (*ptr)->nod_arg[e_asgn_to];
403 id = (USHORT) (IPTR) field->nod_arg[e_fld_id];
404 record =
405- request->req_rpb[(int) field->nod_arg[e_fld_stream]].rpb_record;
406+ request->req_rpb[(int) (IPTR) field->nod_arg[e_fld_stream]].rpb_record;
407 impure = (VLUX) ((SCHAR *) request + from->nod_impure);
408 switch (from->nod_type)
409 {
410@@ -3395,7 +3395,7 @@
411
412 request = tdbb->tdbb_request;
413 impure = (VLU) ((SCHAR *) request + node->nod_impure);
414- rpb = &request->req_rpb[(int) node->nod_arg[0]];
415+ rpb = &request->req_rpb[(int)(IPTR) node->nod_arg[0]];
416 relation = rpb->rpb_relation;
417
418 /* Format dbkey as vector of relation id, record number */
419@@ -4487,7 +4487,7 @@
420
421 request = tdbb->tdbb_request;
422 impure = (VLU) ((SCHAR *) request + node->nod_impure);
423- rpb = &request->req_rpb[(int) node->nod_arg[0]];
424+ rpb = &request->req_rpb[(int)(IPTR) node->nod_arg[0]];
425
426 /* If the current transaction has updated the record, the record version
427 * coming in from DSQL will have the original transaction # (or current
428--- Firebird/src/jrd/exe.cpp.org 2007-02-27 23:49:26.026623000 +0100
429+++ Firebird/src/jrd/exe.cpp 2007-02-27 23:50:30.090623000 +0100
430@@ -376,7 +376,7 @@
431 if (to->nod_type == nod_field)
432 {
433 SSHORT id = (USHORT) (IPTR) to->nod_arg[e_fld_id];
434- REC record = request->req_rpb[(int) to->nod_arg[e_fld_stream]].rpb_record;
435+ REC record = request->req_rpb[(int)(IPTR) to->nod_arg[e_fld_stream]].rpb_record;
436 if (null) {
437 SET_NULL(record, id);
438 } else {
439@@ -1049,7 +1049,7 @@
440 desc = &format->fmt_desc[n];
441 if (!desc->dsc_address)
442 continue;
443- p = record->rec_data + (SLONG) desc->dsc_address;
444+ p = record->rec_data + (SLONG)(IPTR) desc->dsc_address;
445 if (TEST_NULL(record, n))
446 {
447 if (length = desc->dsc_length)
448@@ -1134,7 +1134,7 @@
449
450 request = tdbb->tdbb_request;
451 transaction = request->req_transaction;
452- rpb = &request->req_rpb[(int) node->nod_arg[e_erase_stream]];
453+ rpb = &request->req_rpb[(int)(IPTR) node->nod_arg[e_erase_stream]];
454 relation = rpb->rpb_relation;
455
456 #ifdef PC_ENGINE
457@@ -2652,7 +2652,7 @@
458 DSC *desc;
459
460 desc = EVL_expr(tdbb, node->nod_arg[e_gen_value]);
461- (void) DPM_gen_id(tdbb, (SLONG) node->nod_arg[e_gen_id], 1,
462+ (void) DPM_gen_id(tdbb, (SLONG)(IPTR) node->nod_arg[e_gen_id], 1,
463 MOV_get_int64(desc, 0));
464 request->req_operation = jrd_req::req_return;
465 }
466@@ -2664,7 +2664,7 @@
467 DSC *desc;
468
469 desc = EVL_expr(tdbb, node->nod_arg[e_gen_value]);
470- (void) DPM_gen_id(tdbb, (SLONG) node->nod_arg[e_gen_id], 1,
471+ (void) DPM_gen_id(tdbb, (SLONG)(IPTR) node->nod_arg[e_gen_id], 1,
472 MOV_get_int64(desc, 0));
473 request->req_operation = jrd_req::req_return;
474 }
475--- Firebird/src/jrd/ext.cpp.org 2007-02-27 23:50:53.198623000 +0100
476+++ Firebird/src/jrd/ext.cpp 2007-02-27 23:51:19.166623000 +0100
477@@ -299,7 +299,7 @@
478 continue;
479 if ( (literal = (LIT) field->fld_missing_value) ) {
480 desc = *desc_ptr;
481- desc.dsc_address = record->rec_data + (int) desc.dsc_address;
482+ desc.dsc_address = record->rec_data + (int) (IPTR) desc.dsc_address;
483 if (!MOV_compare(&literal->lit_desc, &desc))
484 continue;
485 }
486@@ -512,7 +512,7 @@
487 desc_ptr->dsc_length &&
488 TEST_NULL(record, i))
489 {
490- p = record->rec_data + (int) desc_ptr->dsc_address;
491+ p = record->rec_data + (int) (IPTR) desc_ptr->dsc_address;
492 if ( (literal = (LIT) field->fld_missing_value) ) {
493 desc = *desc_ptr;
494 desc.dsc_address = p;
495--- Firebird/src/jrd/idx.cpp.org 2007-02-27 23:51:42.758623000 +0100
496+++ Firebird/src/jrd/idx.cpp 2007-02-27 23:51:52.130623000 +0100
497@@ -1058,7 +1058,7 @@
498 (UCHAR) (IPTR) (*idx->idx_foreign_primaries)[index_number]) continue;
499 partner_relation =
500 MET_relation(tdbb,
501- (int) (*idx->idx_foreign_relations)[index_number]);
502+ (int) (IPTR) (*idx->idx_foreign_relations)[index_number]);
503 index_id =
504 (USHORT) (IPTR) (*idx->idx_foreign_indexes)[index_number];
505 if ( (result =
506--- Firebird/src/jrd/inf.cpp.org 2007-02-27 23:52:13.402623000 +0100
507+++ Firebird/src/jrd/inf.cpp 2007-02-27 23:52:25.830623000 +0100
508@@ -973,7 +973,7 @@
509 node = request->req_message;
510 if (item == gds_info_message_number)
511 length =
512- INF_convert((SLONG) node->nod_arg[e_msg_number],
513+ INF_convert((SLONG)(IPTR) node->nod_arg[e_msg_number],
514 buffer_ptr);
515 else {
516 format = (FMT) node->nod_arg[e_msg_format];
517--- Firebird/src/jrd/jrd.cpp.org 2007-02-27 23:52:47.034623000 +0100
518+++ Firebird/src/jrd/jrd.cpp 2007-02-27 23:53:44.414623000 +0100
519@@ -3877,9 +3877,9 @@
520 {
521 if ( (node = csb->csb_rpt[i].csb_message) )
522 {
523- if ((int) node->nod_arg[e_msg_number] == 0) {
524+ if ((int)(IPTR) node->nod_arg[e_msg_number] == 0) {
525 in_message = node;
526- } else if ((int) node->nod_arg[e_msg_number] == 1) {
527+ } else if ((int)(IPTR) node->nod_arg[e_msg_number] == 1) {
528 out_message = node;
529 }
530 }
531--- Firebird/src/jrd/jrd.h.org 2007-02-27 23:54:08.442623000 +0100
532+++ Firebird/src/jrd/jrd.h 2007-02-27 23:54:30.994623000 +0100
533@@ -1050,8 +1050,10 @@
534
535 #if !defined(REQUESTER)
536
537+extern "C" {
538 extern int debug;
539 extern IHNDL internal_db_handles;
540+}
541
542 #endif /* REQUESTER */
543
544--- Firebird/src/jrd/jrn.cpp.org 2007-02-27 23:55:28.466623000 +0100
545+++ Firebird/src/jrd/jrn.cpp 2007-02-27 23:57:02.762623000 +0100
546@@ -836,7 +836,7 @@
547 for (loop = 0; loop < 20; loop++) {
548 for (;;) {
549 journal->jrn_channel = (int *) socket(AF_INET, SOCK_STREAM, 0);
550- if ((int) journal->jrn_channel != -1)
551+ if ((int) (IPTR)journal->jrn_channel != -1)
552 break;
553 if (!SYSCALL_INTERRUPTED(errno)) {
554 error(status_vector, journal, errno, "socket");
555@@ -859,18 +859,18 @@
556 return ret_val;
557 }
558
559- if (!connect((int) journal->jrn_channel, (sockaddr*)&address, sizeof(address)))
560+ if (!connect((int)(IPTR) journal->jrn_channel, (sockaddr*)&address, sizeof(address)))
561 break;
562
563 sleep(3);
564
565 if (loop < 16) {
566- close((int) journal->jrn_channel);
567+ close((int)(IPTR) journal->jrn_channel);
568 continue;
569 }
570 if (!SYSCALL_INTERRUPTED(errno)) {
571 if (retry) {
572- close((int) journal->jrn_channel);
573+ close((int)(IPTR) journal->jrn_channel);
574 gds__free(journal);
575 *ret_jrn = (JRN) NULL;
576 return FB_SUCCESS;
577@@ -879,7 +879,7 @@
578 gds__free(journal);
579 return FB_FAILURE;
580 }
581- close((int) journal->jrn_channel);
582+ close((int)(IPTR) journal->jrn_channel);
583 }
584 #endif
585
586@@ -939,7 +939,7 @@
587 if (retry)
588 {
589 #ifdef BSD_SOCKETS
590- close((int) journal->jrn_channel);
591+ close((int)(IPTR) journal->jrn_channel);
592 #endif
593
594 #ifdef WIN_NT
595@@ -1056,7 +1056,7 @@
596 with us, so keep trying until successful. */
597
598 do {
599- l = recv((int) journal->jrn_channel, (char *) reply, sizeof(struct jrnr), 0);
600+ l = recv((int)(IPTR) journal->jrn_channel, (char *) reply, sizeof(struct jrnr), 0);
601 } while (l < 0 && SYSCALL_INTERRUPTED(errno));
602
603 if (l < 0) {
604@@ -1095,7 +1095,7 @@
605 **************************************/
606
607 #ifdef BSD_SOCKETS
608- if (close((int) journal->jrn_channel) < 0) {
609+ if (close((int)(IPTR) journal->jrn_channel) < 0) {
610 error(status_vector, journal, errno, "close");
611 return FB_FAILURE;
612 }
613@@ -1166,7 +1166,7 @@
614 with us, so keep trying until successful. */
615
616 do {
617- l = send((int) journal->jrn_channel, (char *) buffer, (int) length, 0);
618+ l = send((int)(IPTR) journal->jrn_channel, (char *) buffer, (int) length, 0);
619 } while (l < 0 && SYSCALL_INTERRUPTED(errno));
620
621 if (l < 0) {
622--- Firebird/src/jrd/nav.cpp.org 2007-02-27 23:57:33.730623000 +0100
623+++ Firebird/src/jrd/nav.cpp 2007-02-27 23:59:12.262623000 +0100
624@@ -487,7 +487,7 @@
625
626 init_fetch(impure);
627 idx =
628- (IDX *) ((SCHAR *) impure + (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]);
629+ (IDX *) ((SCHAR *) impure + (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]);
630
631 /* The bitmap is only valid when we are continuing on in one
632 direction. It is of no help when we change direction,
633@@ -521,12 +521,12 @@
634 #ifdef SCROLLABLE_CURSORS
635 MOVE_FAST(
636 (impure->irsb_nav_data +
637- (2 * (SLONG) rsb->rsb_arg[RSB_NAV_key_length])),
638+ (2 * (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_key_length])),
639 upper.key_data, upper.key_length);
640 #else
641 MOVE_FAST(
642 (impure->irsb_nav_data +
643- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]), upper.key_data,
644+ (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_key_length]), upper.key_data,
645 upper.key_length);
646 #endif
647 }
648@@ -534,7 +534,7 @@
649 lower.key_length = impure->irsb_nav_lower_length;
650 MOVE_FAST(
651 (impure->irsb_nav_data +
652- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]), lower.key_data,
653+ (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_key_length]), lower.key_data,
654 lower.key_length);
655 }
656
657@@ -1404,7 +1404,7 @@
658 tdbb = GET_THREAD_DATA;
659
660 idx =
661- (IDX *) ((SCHAR *) impure + (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]);
662+ (IDX *) ((SCHAR *) impure + (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]);
663 page = (BTR) CCH_FETCH(tdbb, window, LCK_read, pag_index);
664
665 /* the outer loop goes through all the sibling pages
666@@ -1619,7 +1619,7 @@
667 tdbb = GET_THREAD_DATA;
668 request = tdbb->tdbb_request;
669 idx =
670- (IDX *) ((SCHAR *) impure + (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]);
671+ (IDX *) ((SCHAR *) impure + (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]);
672
673 BOOLEAN result;
674
675@@ -1656,7 +1656,7 @@
676 rpb->rpb_record,
677 reinterpret_cast <
678 struct idx *>((SCHAR *) impure +
679- (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]),
680+ (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]),
681 &value,
682 0);
683 if (compare_keys(idx, key->key_data, key->key_length, &value, FALSE)) {
684@@ -1757,7 +1757,7 @@
685 retrieval_node = (JRD_NOD) rsb->rsb_arg[RSB_NAV_index];
686 retrieval = (IRB) retrieval_node->nod_arg[e_idx_retrieval];
687 idx =
688- (IDX *) ((SCHAR *) impure + (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]);
689+ (IDX *) ((SCHAR *) impure + (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]);
690 page =
691 BTR_find_page(tdbb, retrieval, window, idx, &lower, &upper,
692 (direction == RSE_get_backward));
693@@ -1770,7 +1770,7 @@
694 impure->irsb_nav_lower_length = lower.key_length;
695 MOVE_FAST(lower.key_data,
696 (impure->irsb_nav_data +
697- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]),
698+ (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_key_length]),
699 lower.key_length);
700 }
701
702@@ -1778,7 +1778,7 @@
703 impure->irsb_nav_upper_length = upper.key_length;
704 MOVE_FAST(upper.key_data,
705 (impure->irsb_nav_data +
706- (2 * (SLONG) rsb->rsb_arg[RSB_NAV_key_length])),
707+ (2 * (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_key_length])),
708 upper.key_length);
709 }
710
711@@ -1802,7 +1802,7 @@
712 impure->irsb_nav_upper_length = upper.key_length;
713 MOVE_FAST(upper.key_data,
714 (impure->irsb_nav_data +
715- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]),
716+ (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_key_length]),
717 upper.key_length);
718 }
719 if (retrieval->irb_lower_count)
720@@ -1813,7 +1813,7 @@
721 impure->irsb_nav_lower_length = lower.key_length;
722 MOVE_FAST(lower.key_data,
723 (impure->irsb_nav_data +
724- (SLONG) rsb->rsb_arg[RSB_NAV_key_length]),
725+ (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_key_length]),
726 lower.key_length);
727 }
728 if (retrieval->irb_upper_count)
729--- Firebird/src/jrd/rse.cpp.org 2007-02-28 00:00:03.858623000 +0100
730+++ Firebird/src/jrd/rse.cpp 2007-02-28 00:01:21.818623000 +0100
731@@ -2151,7 +2151,7 @@
732 }
733
734 desc = msg_format->fmt_desc[msg_format->fmt_count - 1];
735- desc.dsc_address = (UCHAR *) (om + (int) desc.dsc_address);
736+ desc.dsc_address = (UCHAR *) (om + (int)(IPTR) desc.dsc_address);
737 eos_desc.dsc_dtype = dtype_short;
738 eos_desc.dsc_scale = 0;
739 eos_desc.dsc_length = sizeof(SSHORT);
740@@ -2959,7 +2959,7 @@
741 for (item = map->smb_rpt; item < end_item; item++) {
742 flag = *(data + item->smb_flag_offset);
743 from = item->smb_desc;
744- from.dsc_address = data + (ULONG) from.dsc_address;
745+ from.dsc_address = data + (ULONG)(IPTR) from.dsc_address;
746 if ((node = item->smb_node) && node->nod_type != nod_field)
747 continue;
748
749@@ -3211,7 +3211,7 @@
750 end_item = map->smb_rpt + map->smb_count;
751 for (item = map->smb_rpt; item < end_item; item++) {
752 to = item->smb_desc;
753- to.dsc_address = data + (ULONG) to.dsc_address;
754+ to.dsc_address = data + (ULONG)(IPTR) to.dsc_address;
755 flag = FALSE;
756 if (item->smb_node) {
757 from = EVL_expr(tdbb, item->smb_node);
758@@ -3301,12 +3301,12 @@
759 desc2.dsc_flags = 0;
760 desc2.dsc_address = (UCHAR *) & indicator;
761 desc1 = *flag_desc;
762- desc1.dsc_address = msg + (int) flag_desc->dsc_address;
763+ desc1.dsc_address = msg + (int)(IPTR) flag_desc->dsc_address;
764 MOV_move(&desc1, &desc2);
765 if (indicator) {
766 SET_NULL(record, to_id);
767 l = to_desc->dsc_length;
768- p = record->rec_data + (int) to_desc->dsc_address;
769+ p = record->rec_data + (int)(IPTR) to_desc->dsc_address;
770 switch (to_desc->dsc_dtype) {
771 case dtype_text:
772 /* YYY - not necessarily the right thing to do */
773@@ -3336,9 +3336,9 @@
774 else {
775 CLEAR_NULL(record, to_id);
776 desc1 = *from_desc;
777- desc1.dsc_address = msg + (int) desc1.dsc_address;
778+ desc1.dsc_address = msg + (int)(IPTR) desc1.dsc_address;
779 desc2 = *to_desc;
780- desc2.dsc_address = record->rec_data + (int) desc2.dsc_address;
781+ desc2.dsc_address = record->rec_data + (int)(IPTR) desc2.dsc_address;
782 if (!DSC_EQUIV((&desc1), (&desc2)))
783 MOV_move(&desc1, &desc2);
784
785@@ -3817,7 +3817,7 @@
786 if (!sfb_->sfb_file_name) {
787 TEXT file_name[128];
788
789- sfb_->sfb_file = (int) gds__temp_file(FALSE, SCRATCH, file_name);
790+ sfb_->sfb_file = (int)(IPTR) gds__temp_file(FALSE, SCRATCH, file_name);
791 if (sfb_->sfb_file == -1)
792 SORT_error(tdbb->tdbb_status_vector, sfb_, "open", isc_io_error,
793 errno);
794--- Firebird/src/jrd/sort.cpp.org 2007-02-28 00:01:47.478623000 +0100
795+++ Firebird/src/jrd/sort.cpp 2007-02-28 00:02:06.390623000 +0100
796@@ -1787,7 +1787,7 @@
797 /* Create a scratch file */
798
799 sfb->sfb_file =
800- (int) gds__temp_file(FALSE, SCRATCH, file_name,
801+ (int)(IPTR) gds__temp_file(FALSE, SCRATCH, file_name,
802 sfb->sfb_dls->dls_directory, TRUE);
803
804 /* allocate the file name even if the file is not open,
805--- Firebird/src/dsql/ddl.cpp.org 2007-02-28 00:02:23.650623000 +0100
806+++ Firebird/src/dsql/ddl.cpp 2007-02-28 00:04:37.514623000 +0100
807@@ -1126,12 +1126,12 @@
808 if (constant)
809 {
810 request->append_number(gds_dyn_trg_sequence,
811- (SSHORT)(SLONG) (constant ? constant->nod_arg[0] : 0));
812+ (SSHORT)(SLONG)(IPTR) (constant ? constant->nod_arg[0] : 0));
813 }
814
815 if ((constant = node->nod_arg[e_cnstr_type]) != NULL)
816 {
817- const SSHORT type = (SSHORT)(SLONG) constant->nod_arg[0];
818+ const SSHORT type = (SSHORT)(SLONG)(IPTR) constant->nod_arg[0];
819 request->append_number(gds_dyn_trg_type, type);
820 }
821
822@@ -1270,7 +1270,7 @@
823
824 switch (element->nod_type) {
825 case nod_file_length:
826- start = (SLONG) (element->nod_arg[0]) + 1;
827+ start = (SLONG)(IPTR) (element->nod_arg[0]) + 1;
828 break;
829
830 default:
831@@ -1336,25 +1336,25 @@
832
833 case nod_group_commit_wait:
834 request->append_uchar(gds_dyn_log_group_commit_wait);
835- temp_long = (SLONG) (element->nod_arg[0]);
836+ temp_long = (SLONG)(IPTR) (element->nod_arg[0]);
837 request->append_ulong_with_length(temp_long);
838 break;
839
840 case nod_check_point_len:
841 request->append_uchar(gds_dyn_log_check_point_length);
842- temp_long = (SLONG) (element->nod_arg[0]);
843+ temp_long = (SLONG)(IPTR) (element->nod_arg[0]);
844 request->append_ulong_with_length(temp_long);
845 break;
846
847 case nod_num_log_buffers:
848 request->append_uchar(gds_dyn_log_num_of_buffers);
849- temp_short = (SSHORT)(SLONG) (element->nod_arg[0]);
850+ temp_short = (SSHORT)(SLONG)(IPTR) (element->nod_arg[0]);
851 request->append_ushort_with_length(temp_short);
852 break;
853
854 case nod_log_buffer_size:
855 request->append_uchar(gds_dyn_log_buffer_size);
856- temp_short = (SSHORT)(SLONG) (element->nod_arg[0]);
857+ temp_short = (SSHORT)(SLONG)(IPTR) (element->nod_arg[0]);
858 request->append_ushort_with_length(temp_short);
859 break;
860
861@@ -1637,11 +1637,11 @@
862 request->append_number(gds_dyn_def_dimension, position);
863 DSQL_NOD element = *ptr++;
864 request->append_uchar(gds_dyn_dim_lower);
865- SLONG lrange = (SLONG) (element->nod_arg[0]);
866+ SLONG lrange = (SLONG)(IPTR) (element->nod_arg[0]);
867 request->append_ulong_with_length(lrange);
868 element = *ptr;
869 request->append_uchar(gds_dyn_dim_upper);
870- SLONG hrange = (SLONG) (element->nod_arg[0]);
871+ SLONG hrange = (SLONG)(IPTR) (element->nod_arg[0]);
872 request->append_ulong_with_length(hrange);
873 request->append_uchar(gds_dyn_end);
874 if (lrange >= hrange)
875@@ -2062,9 +2062,9 @@
876 request->append_cstring(gds_dyn_def_filter,
877 ((STR) (ptr[e_filter_name]))->str_data);
878 request->append_number(gds_dyn_filter_in_subtype,
879- (SSHORT)(SLONG) ((ptr[e_filter_in_type])->nod_arg[0]));
880+ (SSHORT)(SLONG)(IPTR) ((ptr[e_filter_in_type])->nod_arg[0]));
881 request->append_number(gds_dyn_filter_out_subtype,
882- (SSHORT)(SLONG) ((ptr[e_filter_out_type])->nod_arg[0]));
883+ (SSHORT)(SLONG)(IPTR) ((ptr[e_filter_out_type])->nod_arg[0]));
884 request->append_cstring(gds_dyn_func_entry_point,
885 ((STR) (ptr[e_filter_entry_pt]))->str_data);
886 request->append_cstring(gds_dyn_func_module_name,
887@@ -2670,16 +2670,16 @@
888 gds_arg_gds, gds_dsql_shadow_number_err, 0);
889 }
890
891- request->append_number(gds_dyn_def_shadow, (SSHORT)(SLONG) (ptr[e_shadow_number]));
892+ request->append_number(gds_dyn_def_shadow, (SSHORT)(SLONG)(IPTR) (ptr[e_shadow_number]));
893 request->append_cstring(gds_dyn_def_file, ((STR) (ptr[e_shadow_name]))->str_data);
894 request->append_number(gds_dyn_shadow_man_auto,
895- (SSHORT)(SLONG) ((ptr[e_shadow_man_auto])->nod_arg[0]));
896+ (SSHORT)(SLONG)(IPTR) ((ptr[e_shadow_man_auto])->nod_arg[0]));
897 request->append_number(gds_dyn_shadow_conditional,
898- (SSHORT)(SLONG) ((ptr[e_shadow_conditional])->nod_arg[0]));
899+ (SSHORT)(SLONG)(IPTR) ((ptr[e_shadow_conditional])->nod_arg[0]));
900
901 request->append_file_start(0);
902
903- SLONG length = (SLONG) ptr[e_shadow_length];
904+ SLONG length = (SLONG)(IPTR) ptr[e_shadow_length];
905 request->append_file_length(length);
906
907 request->append_uchar(gds_dyn_end);
908@@ -2806,15 +2806,15 @@
909
910 if (constant = node->nod_arg[e_trg_active])
911 request->append_number(gds_dyn_trg_inactive,
912- (SSHORT)(SLONG) constant->nod_arg[0]);
913+ (SSHORT)(SLONG)(IPTR) constant->nod_arg[0]);
914
915 if (constant = node->nod_arg[e_trg_position])
916 request->append_number(gds_dyn_trg_sequence,
917- (SSHORT)(SLONG) constant->nod_arg[0]);
918+ (SSHORT)(SLONG)(IPTR) constant->nod_arg[0]);
919
920 if (constant = node->nod_arg[e_trg_type]) {
921- request->append_number(gds_dyn_trg_type, (SSHORT)(SLONG) constant->nod_arg[0]);
922- trig_type = (USHORT)(ULONG) constant->nod_arg[0];
923+ request->append_number(gds_dyn_trg_type, (SSHORT)(SLONG)(IPTR) constant->nod_arg[0]);
924+ trig_type = (USHORT)(ULONG)(IPTR) constant->nod_arg[0];
925 }
926 else {
927 assert(node->nod_type == nod_mod_trigger);
928@@ -2893,7 +2893,7 @@
929 for (DSQL_NOD* ptr = temp->nod_arg; ptr < end; ++ptr)
930 {
931 DSQL_NOD message = *ptr;
932- SSHORT number = (SSHORT)(SLONG) message->nod_arg[e_msg_number];
933+ SSHORT number = (SSHORT)(SLONG)(IPTR) message->nod_arg[e_msg_number];
934 if (message->nod_type == nod_del_trigger_msg)
935 {
936 request->append_number(gds_dyn_delete_trigger_msg, number);
937@@ -2954,7 +2954,7 @@
938 // CVC: This is case of "returns <type> [by value|reference]"
939 /* Some data types can not be returned as value */
940
941- if (((int)(SLONG) (ret_val_ptr[1]->nod_arg[0]) == FUN_value) &&
942+ if (((int)(SLONG)(IPTR) (ret_val_ptr[1]->nod_arg[0]) == FUN_value) &&
943 (field->fld_dtype == dtype_text ||
944 field->fld_dtype == dtype_varying ||
945 field->fld_dtype == dtype_cstring ||
946@@ -2998,7 +2998,7 @@
947 // CVC: This is case of "returns parameter <N>"
948
949
950- position = (SSHORT)(SLONG) (ret_val_ptr[1]->nod_arg[0]);
951+ position = (SSHORT)(SLONG)(IPTR) (ret_val_ptr[1]->nod_arg[0]);
952 /* Function modifies an argument whose value is the function return value */
953
954 if (!arguments || position > arguments->nod_count || position < 1) {
955@@ -3024,10 +3024,10 @@
956 if (field->fld_dtype == dtype_blob)
957 {
958 /* CVC: I need to test returning blobs by descriptor before allowing the change there. For now, I ignore the return type specification. */
959- BOOLEAN free_it = ((SSHORT)(SLONG) ret_val_ptr[1]->nod_arg[0] < 0);
960+ BOOLEAN free_it = ((SSHORT)(SLONG)(IPTR) ret_val_ptr[1]->nod_arg[0] < 0);
961 request->append_number(gds_dyn_def_function_arg, blob_position);
962 request->append_number(gds_dyn_func_mechanism,
963- (SSHORT)(SLONG) ((free_it ? -1 : 1) * FUN_blob_struct));
964+ (SSHORT)(SLONG)(IPTR) ((free_it ? -1 : 1) * FUN_blob_struct));
965 /* if we have the free_it set then the blob has
966 to be freed on return */
967 }
968@@ -3035,7 +3035,7 @@
969 {
970 request->append_number(gds_dyn_def_function_arg, (SSHORT) 0);
971 request->append_number(gds_dyn_func_mechanism,
972- (SSHORT)(SLONG) (ret_val_ptr[1]->nod_arg[0]));
973+ (SSHORT)(SLONG)(IPTR) (ret_val_ptr[1]->nod_arg[0]));
974 }
975
976 request->append_cstring(gds_dyn_function_name, udf_name);
977@@ -3070,7 +3070,7 @@
978 request->append_number(gds_dyn_def_function_arg, (SSHORT) position);
979
980 if (param_node [e_udf_param_type]) {
981- SSHORT arg_mechanism = (SSHORT)(SLONG) (param_node [e_udf_param_type]->nod_arg [0]);
982+ SSHORT arg_mechanism = (SSHORT)(SLONG)(IPTR) (param_node [e_udf_param_type]->nod_arg [0]);
983 request->append_number(gds_dyn_func_mechanism, arg_mechanism);
984 }
985 else if (field->fld_dtype == dtype_blob) {
986@@ -3677,13 +3677,13 @@
987 if (constant)
988 {
989 request->append_number(gds_dyn_trg_sequence,
990- (SSHORT)(SLONG) (constant ? constant->nod_arg[0] : 0));
991+ (SSHORT)(SLONG)(IPTR) (constant ? constant->nod_arg[0] : 0));
992 }
993
994 constant = node->nod_arg[e_cnstr_type];
995 if (constant)
996 {
997- trig_type = (USHORT)(ULONG) constant->nod_arg[0];
998+ trig_type = (USHORT)(ULONG)(IPTR) constant->nod_arg[0];
999 request->append_number(gds_dyn_trg_type, trig_type);
1000 }
1001 else
1002@@ -4173,7 +4173,7 @@
1003
1004 case nod_del_shadow:
1005 request->append_number(gds_dyn_delete_shadow,
1006- (SSHORT)(SLONG) (node->nod_arg[0]));
1007+ (SSHORT)(SLONG)(IPTR) (node->nod_arg[0]));
1008 request->append_uchar(gds_dyn_end);
1009 break;
1010
1011@@ -4611,25 +4611,25 @@
1012
1013 case nod_group_commit_wait:
1014 request->append_uchar(gds_dyn_log_group_commit_wait);
1015- temp_long = (SLONG) (element->nod_arg[0]);
1016+ temp_long = (SLONG)(IPTR) (element->nod_arg[0]);
1017 request->append_ulong_with_length(temp_long);
1018 break;
1019
1020 case nod_check_point_len:
1021 request->append_uchar(gds_dyn_log_check_point_length);
1022- temp_long = (SLONG) (element->nod_arg[0]);
1023+ temp_long = (SLONG)(IPTR) (element->nod_arg[0]);
1024 request->append_ulong_with_length(temp_long);
1025 break;
1026
1027 case nod_num_log_buffers:
1028 request->append_uchar(gds_dyn_log_num_of_buffers);
1029- temp_short = (SSHORT)(SLONG) (element->nod_arg[0]);
1030+ temp_short = (SSHORT)(SLONG)(IPTR) (element->nod_arg[0]);
1031 request->append_ushort_with_length(temp_short);
1032 break;
1033
1034 case nod_log_buffer_size:
1035 request->append_uchar(gds_dyn_log_buffer_size);
1036- temp_short = (SSHORT)(SLONG) (element->nod_arg[0]);
1037+ temp_short = (SSHORT)(SLONG)(IPTR) (element->nod_arg[0]);
1038 request->append_ushort_with_length(temp_short);
1039 break;
1040 case nod_drop_log:
1041@@ -5095,7 +5095,7 @@
1042 const_node = element->nod_arg[e_mod_fld_pos_new_position];
1043
1044 /* CVC: Since now the parser accepts pos=1..N, let's subtract one here. */
1045- constant = (SSHORT)(SLONG) const_node->nod_arg [0] - 1;
1046+ constant = (SSHORT)(SLONG)(IPTR) const_node->nod_arg [0] - 1;
1047
1048 request->append_cstring(gds_dyn_rel_name,
1049 relation_name->str_data);
1050--- Firebird/src/dsql/dsql.cpp.org 2007-02-28 00:04:57.930623000 +0100
1051+++ Firebird/src/dsql/dsql.cpp 2007-02-28 00:06:17.478623000 +0100
1052@@ -1136,8 +1136,8 @@
1053 parameter = request->req_blob->blb_segment;
1054 PAR null = parameter->par_null;
1055 USHORT* ret_length =
1056- (USHORT *) (dsql_msg + (SLONG) null->par_user_desc.dsc_address);
1057- UCHAR* buffer = dsql_msg + (SLONG) parameter->par_user_desc.dsc_address;
1058+ (USHORT *) (dsql_msg + (SLONG)(IPTR) null->par_user_desc.dsc_address);
1059+ UCHAR* buffer = dsql_msg + (SLONG)(IPTR) parameter->par_user_desc.dsc_address;
1060 THREAD_EXIT;
1061 s = isc_get_segment(tdsql->tsql_status,
1062 GDS_REF(request->req_handle),
1063@@ -1314,7 +1314,7 @@
1064 parameter = request->req_blob->blb_segment;
1065 buffer =
1066 reinterpret_cast<SCHAR*>(
1067- dsql_msg + (SLONG) parameter->par_user_desc.dsc_address);
1068+ dsql_msg + (SLONG)(IPTR) parameter->par_user_desc.dsc_address);
1069 THREAD_EXIT;
1070 s = isc_put_segment(tdsql->tsql_status,
1071 GDS_REF(request->req_handle),
1072@@ -3210,7 +3210,7 @@
1073 PAR parameter, null;
1074
1075 if (node->nod_type == nod_constant)
1076- return (SSHORT)(SLONG) node->nod_arg[0];
1077+ return (SSHORT)(SLONG)(IPTR) node->nod_arg[0];
1078
1079 parameter = (PAR) node->nod_arg[e_par_parameter];
1080 if (null = parameter->par_null)
1081@@ -3976,7 +3976,7 @@
1082 /* Make sure the message given to us is long enough */
1083
1084 DSC desc = parameter->par_user_desc;
1085- USHORT length = (SLONG) desc.dsc_address + desc.dsc_length;
1086+ USHORT length = (SLONG)(IPTR) desc.dsc_address + desc.dsc_length;
1087 if (length > msg_length)
1088 break;
1089 if (!desc.dsc_dtype)
1090@@ -3985,7 +3985,7 @@
1091 flag = NULL;
1092 if ((null = parameter->par_null) != NULL)
1093 {
1094- USHORT null_offset = (USHORT)(ULONG) (null->par_user_desc.dsc_address);
1095+ USHORT null_offset = (USHORT)(ULONG)(IPTR) (null->par_user_desc.dsc_address);
1096 length = null_offset + sizeof(SSHORT);
1097 if (length > msg_length)
1098 break;
1099@@ -4000,7 +4000,7 @@
1100 }
1101 }
1102
1103- desc.dsc_address = dsql_msg + (SLONG) desc.dsc_address;
1104+ desc.dsc_address = dsql_msg + (SLONG)(IPTR) desc.dsc_address;
1105 if (!request)
1106 MOVD_move(&parameter->par_desc, &desc);
1107 else if (!flag || *flag >= 0)
1108--- Firebird/src/dsql/gen.cpp.org 2007-02-28 00:06:39.246623000 +0100
1109+++ Firebird/src/dsql/gen.cpp 2007-02-28 00:08:32.954623000 +0100
1110@@ -636,7 +636,7 @@
1111 for (parameter = message->msg_parameters; parameter;
1112 parameter = parameter->par_next)
1113 parameter->par_desc.dsc_address =
1114- message->msg_buffer + (SLONG) parameter->par_desc.dsc_address;
1115+ message->msg_buffer + (SLONG)(IPTR) parameter->par_desc.dsc_address;
1116 }
1117
1118
1119@@ -1021,7 +1021,7 @@
1120 case nod_exec_into:
1121 if (node->nod_arg[e_exec_into_block]) {
1122 STUFF(blr_label);
1123- STUFF((int)(SLONG) node->nod_arg[e_exec_into_number]);
1124+ STUFF((int)(SLONG)(IPTR) node->nod_arg[e_exec_into_number]);
1125 }
1126 STUFF(blr_exec_into);
1127 temp = node->nod_arg[e_exec_into_list];
1128@@ -1049,12 +1049,12 @@
1129
1130 case nod_label:
1131 STUFF(blr_label);
1132- STUFF((int)(SLONG) node->nod_arg[e_label_number]);
1133+ STUFF((int)(SLONG)(IPTR) node->nod_arg[e_label_number]);
1134 return;
1135
1136 case nod_breakleave:
1137 STUFF(blr_leave);
1138- STUFF((int)(SLONG) node->nod_arg[e_breakleave_number]);
1139+ STUFF((int)(SLONG)(IPTR) node->nod_arg[e_breakleave_number]);
1140 return;
1141
1142 case nod_store:
1143@@ -1069,7 +1069,7 @@
1144
1145 case nod_abort:
1146 STUFF(blr_leave);
1147- STUFF((int)(SLONG) node->nod_arg[e_abrt_number]);
1148+ STUFF((int)(SLONG)(IPTR) node->nod_arg[e_abrt_number]);
1149 return;
1150
1151 case nod_start_savepoint:
1152@@ -1149,14 +1149,14 @@
1153
1154 case nod_while:
1155 STUFF(blr_label);
1156- STUFF((int)(SLONG) node->nod_arg[e_while_number]);
1157+ STUFF((int)(SLONG)(IPTR) node->nod_arg[e_while_number]);
1158 STUFF(blr_loop);
1159 STUFF(blr_begin);
1160 STUFF(blr_if);
1161 GEN_expr(request, node->nod_arg[e_while_cond]);
1162 GEN_statement(request, node->nod_arg[e_while_action]);
1163 STUFF(blr_leave);
1164- STUFF((int)(SLONG) node->nod_arg[e_while_number]);
1165+ STUFF((int)(SLONG)(IPTR) node->nod_arg[e_while_number]);
1166 STUFF(blr_end);
1167 return;
1168
1169@@ -1556,7 +1556,7 @@
1170 switch (node->nod_type) {
1171 case nod_sqlcode:
1172 STUFF(blr_sql_code);
1173- STUFF_WORD((USHORT)(ULONG) node->nod_arg[0]);
1174+ STUFF_WORD((USHORT)(ULONG)(IPTR) node->nod_arg[0]);
1175 return;
1176
1177 case nod_gdscode:
1178@@ -1667,7 +1667,7 @@
1179 what loop is the user trying to abandon? */
1180 if (for_select->nod_arg [e_flp_action]) {
1181 STUFF (blr_label);
1182- STUFF ((int) for_select->nod_arg [e_flp_number]);
1183+ STUFF ((int)(IPTR) for_select->nod_arg [e_flp_number]);
1184 }
1185
1186 /* Generate FOR loop */
1187@@ -2546,7 +2546,7 @@
1188 for (ptr = list->nod_arg, end = ptr + list->nod_count; ptr < end; ptr++) {
1189 dsql_nod* nulls_placement = (*ptr)->nod_arg[e_order_nulls];
1190 if (nulls_placement) {
1191- switch ((SLONG)nulls_placement->nod_arg[0]) {
1192+ switch ((SLONG)(IPTR)nulls_placement->nod_arg[0]) {
1193 case NOD_NULLS_FIRST:
1194 STUFF(blr_nullsfirst);
1195 break;
1196--- Firebird/src/dsql/parse.y.org 2007-02-28 00:09:38.346623000 +0100
1197+++ Firebird/src/dsql/parse.y 2007-02-28 00:15:32.978623000 +0100
1198@@ -551,7 +551,7 @@
1199 | set
1200 | update
1201 | KW_DEBUG signed_short_integer
1202- { prepare_console_debug ((int) $2, &yydebug);
1203+ { prepare_console_debug ((int)(IPTR) $2, &yydebug);
1204 $$ = make_node (nod_null, (int) 0, NULL); }
1205 ;
1206
1207@@ -1158,7 +1158,7 @@
1208 ;
1209
1210 logfile_attr : KW_SIZE equals long_integer
1211- { lex.g_file->fil_length = (SLONG) $3; }
1212+ { lex.g_file->fil_length = (SLONG)(IPTR) $3; }
1213 /*
1214 | RAW_PARTITIONS equals pos_short_integer
1215 { lex.g_file->fil_partitions = (SSHORT) (IPTR) $3;
1216@@ -1178,9 +1178,9 @@
1217 ;
1218
1219 file_clause : STARTING file_clause_noise long_integer
1220- { lex.g_file->fil_start = (SLONG) $3;}
1221+ { lex.g_file->fil_start = (SLONG)(IPTR) $3;}
1222 | LENGTH equals long_integer page_noise
1223- { lex.g_file->fil_length = (SLONG) $3;}
1224+ { lex.g_file->fil_length = (SLONG)(IPTR) $3;}
1225 ;
1226
1227 file_clause_noise :
1228@@ -2186,7 +2186,7 @@
1229 ;
1230
1231 array_range : signed_long_integer
1232- { if ((SLONG) $1 < 1)
1233+ { if ((SLONG)(IPTR) $1 < 1)
1234 $$ = make_node (nod_list, (int) 2,
1235 MAKE_constant ((STR) $1, CONSTANT_SLONG),
1236 MAKE_constant ((STR) 1, CONSTANT_SLONG));
1237@@ -2429,10 +2429,10 @@
1238 }
1239 | '(' signed_long_integer ')'
1240 {
1241- if ( ((SLONG) $2 < 1) || ((SLONG) $2 > 18) )
1242+ if ( ((SLONG)(IPTR) $2 < 1) || ((SLONG)(IPTR) $2 > 18) )
1243 yyabandon (-842, isc_precision_err);
1244 /* Precision most be between 1 and 18. */
1245- if ((SLONG) $2 > 9)
1246+ if ((SLONG)(IPTR) $2 > 9)
1247 {
1248 if ( ( (client_dialect <= SQL_DIALECT_V5) &&
1249 (db_dialect > SQL_DIALECT_V5) ) ||
1250@@ -2469,7 +2469,7 @@
1251 }
1252 }
1253 else
1254- if ((SLONG) $2 < 5)
1255+ if ((SLONG)(IPTR) $2 < 5)
1256 {
1257 lex.g_field->fld_dtype = dtype_short;
1258 lex.g_field->fld_length = sizeof (SSHORT);
1259@@ -2483,13 +2483,13 @@
1260 }
1261 | '(' signed_long_integer ',' signed_long_integer ')'
1262 {
1263- if ( ((SLONG) $2 < 1) || ((SLONG) $2 > 18) )
1264+ if ( ((SLONG)(IPTR) $2 < 1) || ((SLONG)(IPTR) $2 > 18) )
1265 yyabandon (-842, isc_precision_err);
1266 /* Precision should be between 1 and 18 */
1267- if (((SLONG) $4 > (SLONG) $2) || ((SLONG) $4 < 0))
1268+ if (((SLONG)(IPTR) $4 > (SLONG)(IPTR) $2) || ((SLONG)(IPTR) $4 < 0))
1269 yyabandon (-842, isc_scale_nogt);
1270 /* Scale must be between 0 and precision */
1271- if ((SLONG) $2 > 9)
1272+ if ((SLONG)(IPTR) $2 > 9)
1273 {
1274 if ( ( (client_dialect <= SQL_DIALECT_V5) &&
1275 (db_dialect > SQL_DIALECT_V5) ) ||
1276@@ -2527,7 +2527,7 @@
1277 }
1278 else
1279 {
1280- if ((SLONG) $2 < 5)
1281+ if ((SLONG)(IPTR) $2 < 5)
1282 {
1283 lex.g_field->fld_dtype = dtype_short;
1284 lex.g_field->fld_length = sizeof (SSHORT);
1285@@ -2553,7 +2553,7 @@
1286
1287 float_type : KW_FLOAT precision_opt
1288 {
1289- if ((SLONG) $2 > 7)
1290+ if ((SLONG)(IPTR) $2 > 7)
1291 {
1292 lex.g_field->fld_dtype = dtype_double;
1293 lex.g_field->fld_length = sizeof (double);
1294@@ -3706,32 +3706,32 @@
1295
1296 signed_short_integer : nonneg_short_integer
1297 | '-' neg_short_integer
1298- { $$ = (DSQL_NOD) - (SLONG) $2; }
1299+ { $$ = (DSQL_NOD) - (SLONG)(IPTR) $2; }
1300 ;
1301
1302 nonneg_short_integer : NUMBER
1303- { if ((SLONG) $1 > SHRT_POS_MAX)
1304+ { if ((SLONG)(IPTR) $1 > SHRT_POS_MAX)
1305 yyabandon (-842, isc_expec_short);
1306 /* Short integer expected */
1307 $$ = $1;}
1308 ;
1309
1310 neg_short_integer : NUMBER
1311- { if ((SLONG) $1 > SHRT_NEG_MAX)
1312+ { if ((SLONG)(IPTR) $1 > SHRT_NEG_MAX)
1313 yyabandon (-842, isc_expec_short);
1314 /* Short integer expected */
1315 $$ = $1;}
1316 ;
1317
1318 pos_short_integer : nonneg_short_integer
1319- { if ((SLONG) $1 == 0)
1320+ { if ((SLONG)(IPTR) $1 == 0)
1321 yyabandon (-842, isc_expec_positive);
1322 /* Positive number expected */
1323 $$ = $1;}
1324 ;
1325
1326 unsigned_short_integer : NUMBER
1327- { if ((SLONG) $1 > SHRT_UNSIGNED_MAX)
1328+ { if ((SLONG)(IPTR) $1 > SHRT_UNSIGNED_MAX)
1329 yyabandon (-842, isc_expec_ushort);
1330 /* Unsigned short integer expected */
1331 $$ = $1;}
1332@@ -3739,7 +3739,7 @@
1333
1334 signed_long_integer : long_integer
1335 | '-' long_integer
1336- { $$ = (DSQL_NOD) - (SLONG) $2; }
1337+ { $$ = (DSQL_NOD) - (SLONG)(IPTR) $2; }
1338 ;
1339
1340 long_integer : NUMBER
1341@@ -3820,14 +3820,14 @@
1342
1343 string_value_function : SUBSTRING '(' value FROM pos_short_integer ')'
1344 { $$ = make_node (nod_substr, e_substr_count, $3,
1345- MAKE_constant ((STR) ((SLONG)($5) - 1), CONSTANT_SLONG),
1346+ MAKE_constant ((STR) ((SLONG)(IPTR)($5) - 1), CONSTANT_SLONG),
1347 MAKE_constant ((STR) SHRT_POS_MAX, CONSTANT_SLONG)); }
1348 /* CVC: It was easier to provide a constant with maximum value if the
1349 third parameter -length- is ommitted than to chase and fix the functions
1350 that treat nod_substr as an aggregate and do not expect NULL arguments. */
1351 | SUBSTRING '(' value FROM pos_short_integer FOR nonneg_short_integer ')'
1352 { $$ = make_node (nod_substr, e_substr_count, $3,
1353- MAKE_constant ((STR) ((SLONG)($5) - 1), CONSTANT_SLONG),
1354+ MAKE_constant ((STR) ((SLONG)(IPTR)($5) - 1), CONSTANT_SLONG),
1355 MAKE_constant ((STR) ($7), CONSTANT_SLONG)); }
1356 | KW_UPPER '(' value ')'
1357 { $$ = make_node (nod_upcase, 1, $3); }
1358--- Firebird/src/remote/interface.cpp.org 2007-02-28 00:17:46.438623000 +0100
1359+++ Firebird/src/remote/interface.cpp 2007-02-28 00:18:18.002623000 +0100
1360@@ -3230,7 +3230,7 @@
1361 // Nickolay Samofatov: We pass this value to the server (as 32-bit value)
1362 // then it returns it to us and we do not use it. Maybe pass zero here
1363 // to avoid client-side security risks?
1364- event->p_event_ast = (SLONG) ast;
1365+ event->p_event_ast = (SLONG)(IPTR) ast;
1366 event->p_event_arg = (SLONG)(IPTR) arg;
1367
1368 event->p_event_rid = rem_event->rvnt_id;
1369@@ -6225,8 +6225,8 @@
1370 for (; to_desc < end_desc; from_desc++, to_desc++) {
1371 from = *from_desc;
1372 to = *to_desc;
1373- from.dsc_address = from_msg + (SLONG) from.dsc_address;
1374- to.dsc_address = to_msg + (SLONG) to.dsc_address;
1375+ from.dsc_address = from_msg + (SLONG)(IPTR) from.dsc_address;
1376+ to.dsc_address = to_msg + (SLONG)(IPTR) to.dsc_address;
1377 CVT_move(&from, &to, (FPTR_VOID) move_error);
1378 }
1379
1380--- Firebird/src/remote/protocol.cpp.org 2007-02-28 00:18:40.858623000 +0100
1381+++ Firebird/src/remote/protocol.cpp 2007-02-28 00:19:05.766623000 +0100
1382@@ -984,7 +984,7 @@
1383 BLOB_PTR *p;
1384 SSHORT n;
1385
1386- p = buffer + (ULONG) desc->dsc_address;
1387+ p = buffer + (ULONG)(IPTR) desc->dsc_address;
1388
1389 switch (desc->dsc_dtype) {
1390 case dtype_text:
1391--- Firebird/src/dsql/pass1.cpp 2005-06-16 11:44:39.000000000 +0200
1392+++ Firebird/src/dsql/pass1.cpp 2007-02-28 00:17:34.114623000 +0100
1393@@ -642,7 +642,7 @@
1394 TRUE, TRUE,
1395 /* Pass 0 here to restore older parameter
1396 ordering behavior */
1397- (USHORT)(ULONG) input->nod_arg[0]);
1398+ (USHORT)(ULONG)(IPTR) input->nod_arg[0]);
1399 return node;
1400
1401 case nod_udf:
1402@@ -1561,7 +1561,7 @@
1403 }
1404 else {
1405 // we have Count(*)
1406- if (request->req_scope_level == (ULONG) node->nod_arg[1]) {
1407+ if (request->req_scope_level == (ULONG)(IPTR) node->nod_arg[1]) {
1408 aggregate = TRUE;
1409 }
1410 }
1411@@ -4426,7 +4426,7 @@
1412 (slist_node->nod_type == nod_list))
1413 {
1414 /* an select list is there */
1415- position = (ULONG) sub->nod_arg[0];
1416+ position = (ULONG)(IPTR) sub->nod_arg[0];
1417 if ((position < 1) || (position > (ULONG) slist_node->nod_count))
1418 {
1419 ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104,
1420@@ -4819,9 +4819,9 @@
1421 }
1422
1423 if (node1->nod_type == nod_constant && node1->nod_desc.dsc_dtype == dtype_long) {
1424- position = (ULONG) (node1->nod_arg[0]);
1425+ position = (ULONG)(IPTR) (node1->nod_arg[0]);
1426 if ((position < 1) || !s_list ||
1427- (position > (ULONG) s_list->nod_count)) {
1428+ (position > (ULONG)(IPTR) s_list->nod_count)) {
1429 ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104,
1430 gds_arg_gds, gds_dsql_column_pos_err,
1431 gds_arg_string, "ORDER BY", 0);
1432@@ -5082,7 +5082,7 @@
1433 ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104,
1434 gds_arg_gds, gds_dsql_command_err, gds_arg_gds, gds_order_by_err, /* invalid ORDER BY clause */
1435 0);
1436- number = (SLONG) position->nod_arg[0];
1437+ number = (SLONG)(IPTR) position->nod_arg[0];
1438 if (number < 1 || number > union_items->nod_count)
1439 ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104,
1440 gds_arg_gds, gds_dsql_command_err, gds_arg_gds, gds_order_by_err, /* invalid ORDER BY clause */
02baabe6
AM
1441--- Firebird/src/jrd/dpm.epp.org 2007-02-28 00:34:51.294623000 +0100
1442+++ Firebird/src/jrd/dpm.epp 2007-02-28 00:35:36.046623000 +0100
1443@@ -2119,7 +2119,7 @@
1444
1445 DEBUG if (stack)
1446 while (*stack)
1447- CCH_precedence(tdbb, &rpb->rpb_window, (SLONG) LLS_POP(stack));
1448+ CCH_precedence(tdbb, &rpb->rpb_window, (SLONG)(IPTR) LLS_POP(stack));
1449
a6bbc5c1
AM
1450 CCH_precedence(tdbb, &rpb->rpb_window, -rpb->rpb_transaction);
1451 CCH_MARK(tdbb, &rpb->rpb_window);
02baabe6
AM
1452@@ -2736,7 +2736,7 @@
1453 If the page need to be compressed, compress it. */
1454
1455 while (*stack)
1456- CCH_precedence(tdbb, &rpb->rpb_window, (SLONG) LLS_POP(stack));
1457+ CCH_precedence(tdbb, &rpb->rpb_window, (SLONG)(IPTR) LLS_POP(stack));
1458 CCH_MARK(tdbb, &rpb->rpb_window);
1459 i = page->dpg_count + ((slot) ? 0 : 1);
1460
1461--- Firebird/src/jrd/met.epp.org 2007-02-28 00:37:37.786623000 +0100
1462+++ Firebord/src/jrd/met.epp 2007-02-28 00:41:41.830623000 +0100
1463@@ -932,7 +932,7 @@
1464 if (desc->dsc_address)
1465 {
1466 format->fmt_length =
1467- (ULONG) desc->dsc_address + desc->dsc_length;
1468+ (ULONG)(IPTR) desc->dsc_address + desc->dsc_length;
1469 break;
1470 }
1471 }
1472@@ -3001,10 +3001,10 @@
1473 {
1474 if ( (node = csb_->csb_rpt[i].csb_message) )
1475 {
1476- if ((int) node->nod_arg[e_msg_number] == 0)
1477+ if ((int)(IPTR) node->nod_arg[e_msg_number] == 0)
1478 {
1479 procedure->prc_input_msg = node;
1480- } else if ((int) node->nod_arg[e_msg_number] == 1)
1481+ } else if ((int)(IPTR) node->nod_arg[e_msg_number] == 1)
1482 {
1483 procedure->prc_output_msg = node;
1484 }
1485@@ -4593,13 +4593,13 @@
1486 dpdo_name = (TEXT*) procedure->prc_name->str_data;
1487 break;
1488 case obj_exception:
1489- number = (SLONG) node->nod_arg [e_dep_object];
1490+ number = (SLONG)(IPTR) node->nod_arg [e_dep_object];
1491 MET_lookup_exception (tdbb, number, name, NULL);
1492 dpdo_name = name;
1493 break;
1494 /* CVC: Here I'm going to track those pesky things named generators and UDFs. */
1495 case obj_generator:
1496- number = (SLONG) node->nod_arg [e_dep_object];
1497+ number = (SLONG)(IPTR) node->nod_arg [e_dep_object];
1498 MET_lookup_generator_id (tdbb, number, name);
1499 dpdo_name = name;
1500 break;
c0f1eec2
AM
1501
1502--- Firebird/src/burp/canonical.cpp.org 2007-02-28 12:52:58.246623000 +0100
1503+++ Firebird/src/burp/canonical.cpp 2007-02-28 12:53:13.434623000 +0100
1504@@ -505,7 +505,7 @@
1505 UCHAR *p;
1506 SSHORT n;
1507
1508- p = buffer + (int) desc->dsc_address;
1509+ p = buffer + (int)(IPTR) desc->dsc_address;
1510
1511 switch (desc->dsc_dtype)
1512 {
1513--- Firebird/src/remote/inet_server.cpp.org 2007-02-28 12:58:13.158623000 +0100
1514+++ Firebird/src/remote/inet_server.cpp 2007-02-28 12:58:24.038623000 +0100
1515@@ -380,7 +380,7 @@
1516 if (!debug) {
1517 FD_ZERO(&mask);
1518 FD_SET(2, &mask);
1519- divorce_terminal((int) &mask);
1520+ divorce_terminal((int)(IPTR) &mask);
1521 }
1522 {
1523 ISC_STATUS_ARRAY status_vector;
1524--- Firebird/src/remote/server.cpp.org 2007-02-28 12:59:33.298623000 +0100
1525+++ Firebird/src/remote/server.cpp 2007-02-28 12:59:51.162623000 +0100
1526@@ -4361,7 +4361,7 @@
1527
1528 // Nickolay Samofatov: We keep this values and even pass them to the client
1529 // (as 32-bit values) when event is fired, but client ignores them.
1530- p_event->p_event_ast = (SLONG) event->rvnt_ast;
1531+ p_event->p_event_ast = (SLONG)(IPTR) event->rvnt_ast;
1532 p_event->p_event_arg = (SLONG)(IPTR) event->rvnt_arg;
1533
1534 p_event->p_event_rid = event->rvnt_rid;
1535--- Firebird/src/dudley/exe.epp.org 2007-02-28 13:02:34.238623000 +0100
1536+++ Firebird/src/dudley/exe.epp 2007-02-28 13:03:12.174623000 +0100
1537@@ -626,7 +626,7 @@
1538 break;
1539
1540 case act_d_shadow:
1541- drop_shadow((SLONG) action->act_object);
1542+ drop_shadow((SLONG)(IPTR) action->act_object);
1543 break;
1544
1545 case act_a_generator:
1546--- Firebird/src/dudley/generate.cpp.org 2007-02-28 13:03:35.542623000 +0100
1547+++ Firebird/src/dudley/generate.cpp 2007-02-28 13:03:43.086623000 +0100
1548@@ -426,7 +426,7 @@
1549 case nod_abort:
1550 CHECK_BLR(2);
1551 STUFF(blr_leave);
1552- STUFF((int) node->nod_arg[0]);
1553+ STUFF((int)(IPTR) node->nod_arg[0]);
1554 return;
1555
1556 case nod_erase:
1557--- Firebird/src/dudley/trn.cpp.org 2007-02-28 13:04:00.386623000 +0100
1558+++ Firebird/src/dudley/trn.cpp 2007-02-28 13:04:08.714623000 +0100
1559@@ -244,7 +244,7 @@
1560 break;
1561
1562 case act_d_shadow:
1563- drop_shadow(dyn, (SLONG) (action->act_object));
1564+ drop_shadow(dyn, (SLONG)(IPTR) (action->act_object));
1565 break;
1566
1567 case act_m_trigger_msg:
1568--- Firebird/src/qli/eval.cpp.org 2007-02-28 13:04:28.694623000 +0100
1569+++ Firebird/src/qli/eval.cpp 2007-02-28 13:06:09.946623000 +0100
1570@@ -200,10 +200,10 @@
1571
1572 if (node->nod_type == nod_rpt_average && node->nod_arg[e_stt_default])
1573 if (node->nod_desc.dsc_dtype == dtype_long)
1574- *(SLONG *) node->nod_desc.dsc_address /= (SLONG) node->
1575+ *(SLONG *) node->nod_desc.dsc_address /= (SLONG)(IPTR) node->
1576 nod_arg[e_stt_default];
1577 else
1578- *(double *) node->nod_desc.dsc_address /= (SLONG) node->
1579+ *(double *) node->nod_desc.dsc_address /= (SLONG)(IPTR) node->
1580 nod_arg[e_stt_default];
1581 }
1582
1583@@ -241,7 +241,7 @@
1584
1585 /* If this is the first value, just move it in. */
1586
1587- count = (SLONG) node->nod_arg[e_stt_default] + 1;
1588+ count = (SLONG)(IPTR) node->nod_arg[e_stt_default] + 1;
1589 if (count == 1) {
1590 if (desc2->dsc_missing)
1591 desc1->dsc_missing = DSC_missing;
1592@@ -374,7 +374,7 @@
1593 case nod_rpt_min:
1594 case nod_rpt_total:
1595 case nod_rpt_average:
1596- if (!(SLONG) node->nod_arg[e_stt_default])
1597+ if (!(SLONG)(IPTR) node->nod_arg[e_stt_default])
1598 desc->dsc_missing = DSC_missing;
1599
1600 case nod_rpt_count:
1601--- Firebird/src/qli/expand.cpp.org 2007-02-28 13:06:27.894623000 +0100
1602+++ Firebird/src/qli/expand.cpp 2007-02-28 13:06:46.722623000 +0100
1603@@ -1830,7 +1830,7 @@
1604
1605 }
1606
1607- item->itm_count = (int) syn_item->syn_arg[0];
1608+ item->itm_count = (int)(IPTR) syn_item->syn_arg[0];
1609 return item;
1610 }
1611
1612@@ -2131,7 +2131,7 @@
1613 /* Handle implicit boolean from SQL xxx IN (yyy FROM relation) */
1614
1615 if (input->syn_arg[s_rse_outer]) {
1616- eql_node = MAKE_NODE((enum nod_t)(int)input->syn_arg[s_rse_op], 2);
1617+ eql_node = MAKE_NODE((enum nod_t)(int)(IPTR)input->syn_arg[s_rse_op], 2);
1618 eql_node->nod_arg[0] =
1619 expand_expression(input->syn_arg[s_rse_outer], old_stack);
1620 eql_node->nod_arg[1] =
1621--- Firebird/src/qli/gener.cpp.org 2007-02-28 13:07:08.610623000 +0100
1622+++ Firebird/src/qli/gener.cpp 2007-02-28 13:07:26.390623000 +0100
1623@@ -1556,7 +1556,7 @@
1624
1625 rlb = CHECK_RLB(request->req_blr);
1626
1627- if ((NOD_T) (int) node->nod_arg[e_rse_join_type] == (NOD_T) 0)
1628+ if ((NOD_T) (int)(IPTR) node->nod_arg[e_rse_join_type] == (NOD_T) 0)
1629 STUFF(blr_rse);
1630 else
1631 STUFF(blr_rs_stream);
1632@@ -1625,7 +1625,7 @@
1633 if (list = node->nod_arg[e_rse_reduced])
1634 gen_sort(list, request, blr_project);
1635
1636- join_type = (NOD_T) (int) node->nod_arg[e_rse_join_type];
1637+ join_type = (NOD_T) (int)(IPTR) node->nod_arg[e_rse_join_type];
1638 if (join_type != (NOD_T) 0 && join_type != nod_join_inner) {
1639 STUFF(blr_join_type);
1640 if (join_type == nod_join_left)
1641--- Firebird/src/qli/lex.cpp.org 2007-02-28 13:07:47.518623000 +0100
1642+++ Firebird/src/qli/lex.cpp 2007-02-28 13:08:00.654623000 +0100
1643@@ -597,7 +597,7 @@
1644 for (temp = QLI_line;
1645 temp->line_next && QLI_statements;
1646 temp = temp->line_next)
1647-if (temp->line_next->line_position == (SLONG) QLI_statements->lls_object) return;
1648+if (temp->line_next->line_position == (SLONG)(IPTR) QLI_statements->lls_object) return;
1649
1650 statement = (LLS) ALLOCP(type_lls);
1651 statement->lls_object = (BLK) temp->line_position;
1652--- Firebird/src/qli/parse.cpp.org 2007-02-28 13:08:33.066623000 +0100
1653+++ Firebird/src/qli/parse.cpp 2007-02-28 13:09:08.342623000 +0100
1654@@ -1524,7 +1524,7 @@
1655 IBERROR(176); /* Msg176 No statements issued yet */
1656
1657 if (MATCH(KW_ASTERISK))
1658- LEX_edit((SLONG) 0, (SLONG) statement_list->lls_object);
1659+ LEX_edit((SLONG) 0, (SLONG)(IPTR) statement_list->lls_object);
1660 else {
1661 if (KEYWORD(KW_SEMI))
1662 l = 1;
1663@@ -1534,7 +1534,7 @@
1664 for (start = stop = statement_list;
1665 l && start->lls_next; l--, start = start->lls_next);
1666 command_end();
1667- LEX_edit((SLONG) start->lls_object, (SLONG) stop->lls_object);
1668+ LEX_edit((SLONG)(IPTR) start->lls_object, (SLONG)(IPTR) stop->lls_object);
1669 }
1670 }
1671 #ifdef PYXIS
1672@@ -2925,7 +2925,7 @@
1673 node->syn_arg[0] = INT_CAST 1;
1674 if (op == nod_column || QLI_token->tok_type == tok_number)
1675 node->syn_arg[0] = INT_CAST parse_ordinal();
1676- if ((op == nod_skip) && ((int) node->syn_arg[0] < 1))
1677+ if ((op == nod_skip) && ((int)(IPTR) node->syn_arg[0] < 1))
1678 SYNTAX_ERROR(478); /* Msg478 number > 0 */
1679 }
1680 LLS_PUSH(node, &stack);
1681--- Firebird/src/qli/show.epp.org 2007-02-28 13:09:30.726623000 +0100
1682+++ Firebird/src/qli/show.epp 2007-02-28 13:10:01.410623000 +0100
1683@@ -154,7 +154,7 @@
1684 ptr = node->syn_arg;
1685
1686 for (i = 0; i < node->syn_count; i++) {
1687- sw = (ENUM show_t) (int) * ptr++;
1688+ sw = (ENUM show_t) (int)(IPTR) * ptr++;
1689 value = *ptr++;
1690 if (sw != show_matching_language &&
1691 sw != show_version &&
This page took 0.326553 seconds and 4 git commands to generate.