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
5 void operator delete[](void* mem) throw();
8 +#if defined(AIX) || __GNUC__ >= 4
9 #define FB_STATIC_INLINE_NEW inline
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
16 signal(SIGPIPE, SIG_IGN);
18 - fil->fil_fd = reinterpret_cast<DESC>(GBAK_STDOUT_DESC);
19 + fil->fil_fd = static_cast<DESC>(GBAK_STDOUT_DESC);
25 tdgbl->action->act_action = ACT_restore;
26 if (!strcmp(fil->fil_name, "stdin")) {
27 - fil->fil_fd = reinterpret_cast<DESC>(GBAK_STDIN_DESC);
28 + fil->fil_fd = static_cast<DESC>(GBAK_STDIN_DESC);
29 tdgbl->file_desc = fil->fil_fd;
30 tdgbl->gbl_sw_files = fil->fil_next;
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
36 int Config::getSortMemBlockSize()
38 - return (int) sysConfig.values[KEY_SORT_MEM_BLOCK_SIZE];
39 + return (int)(IPTR) sysConfig.values[KEY_SORT_MEM_BLOCK_SIZE];
42 int Config::getSortMemUpperLimit()
44 - return (int) sysConfig.values[KEY_SORT_MEM_UPPER_LIMIT];
45 + return (int)(IPTR) sysConfig.values[KEY_SORT_MEM_UPPER_LIMIT];
48 bool Config::getRemoteFileOpenAbility()
51 int Config::getGuardianOption()
53 - return (int) sysConfig.values[KEY_GUARDIAN_OPTION];
54 + return (int)(IPTR) sysConfig.values[KEY_GUARDIAN_OPTION];
57 int Config::getCpuAffinityMask()
59 - return (int) sysConfig.values[KEY_CPU_AFFINITY_MASK];
60 + return (int)(IPTR) sysConfig.values[KEY_CPU_AFFINITY_MASK];
63 bool Config::getOldParameterOrdering()
66 int Config::getTcpRemoteBufferSize()
68 - return (int) sysConfig.values[KEY_TCP_REMOTE_BUFFER_SIZE];
69 + return (int)(IPTR) sysConfig.values[KEY_TCP_REMOTE_BUFFER_SIZE];
72 bool Config::getTcpNoNagle()
75 int Config::getIpcMapSize()
77 - return (int) sysConfig.values[KEY_IPC_MAP_SIZE];
78 + return (int)(IPTR) sysConfig.values[KEY_IPC_MAP_SIZE];
81 int Config::getDefaultDbCachePages()
83 - return (int) sysConfig.values[KEY_DEFAULT_DB_CACHE_PAGES];
84 + return (int)(IPTR) sysConfig.values[KEY_DEFAULT_DB_CACHE_PAGES];
87 int Config::getConnectionTimeout()
89 - return (int) sysConfig.values[KEY_CONNECTION_TIMEOUT];
90 + return (int)(IPTR) sysConfig.values[KEY_CONNECTION_TIMEOUT];
93 int Config::getDummyPacketInterval()
95 - return (int) sysConfig.values[KEY_DUMMY_PACKET_INTERVAL];
96 + return (int)(IPTR) sysConfig.values[KEY_DUMMY_PACKET_INTERVAL];
99 int Config::getLockMemSize()
101 - return (int) sysConfig.values[KEY_LOCK_MEM_SIZE];
102 + return (int)(IPTR) sysConfig.values[KEY_LOCK_MEM_SIZE];
105 int Config::getLockSemCount()
107 - return (int) sysConfig.values[KEY_LOCK_SEM_COUNT];
108 + return (int)(IPTR) sysConfig.values[KEY_LOCK_SEM_COUNT];
111 int Config::getLockSignal()
113 - return (int) sysConfig.values[KEY_LOCK_SIGNAL];
114 + return (int)(IPTR) sysConfig.values[KEY_LOCK_SIGNAL];
117 bool Config::getLockGrantOrder()
118 @@ -341,27 +341,27 @@
120 int Config::getLockHashSlots()
122 - return (int) sysConfig.values[KEY_LOCK_HASH_SLOTS];
123 + return (int)(IPTR) sysConfig.values[KEY_LOCK_HASH_SLOTS];
126 int Config::getLockAcquireSpins()
128 - return (int) sysConfig.values[KEY_LOCK_ACQUIRE_SPINS];
129 + return (int)(IPTR) sysConfig.values[KEY_LOCK_ACQUIRE_SPINS];
132 int Config::getEventMemSize()
134 - return (int) sysConfig.values[KEY_EVENT_MEM_SIZE];
135 + return (int)(IPTR) sysConfig.values[KEY_EVENT_MEM_SIZE];
138 int Config::getDeadlockTimeout()
140 - return (int) sysConfig.values[KEY_DEADLOCK_TIMEOUT];
141 + return (int)(IPTR) sysConfig.values[KEY_DEADLOCK_TIMEOUT];
144 int Config::getSolarisStallValue()
146 - return (int) sysConfig.values[KEY_SOLARIS_STALL_VALUE];
147 + return (int)(IPTR) sysConfig.values[KEY_SOLARIS_STALL_VALUE];
150 bool Config::getTraceMemoryPools()
153 int Config::getPrioritySwitchDelay()
155 - int rc = (int) sysConfig.values[KEY_PRIORITY_SWITCH_DELAY];
156 + int rc = (int) (IPTR) sysConfig.values[KEY_PRIORITY_SWITCH_DELAY];
162 int Config::getDeadThreadsCollection()
164 - int rc = (int) sysConfig.values[KEY_DEAD_THREADS_COLLECTION];
165 + int rc = (int) (IPTR) sysConfig.values[KEY_DEAD_THREADS_COLLECTION];
171 int Config::getPriorityBoost()
173 - int rc = (int) sysConfig.values[KEY_PRIORITY_BOOST];
174 + int rc = (int) (IPTR) sysConfig.values[KEY_PRIORITY_BOOST];
180 int Config::getRemoteServicePort()
182 - return (int) sysConfig.values[KEY_REMOTE_SERVICE_PORT];
183 + return (int)(IPTR) sysConfig.values[KEY_REMOTE_SERVICE_PORT];
186 const char *Config::getRemotePipeName()
187 @@ -417,17 +417,17 @@
189 int Config::getMaxUnflushedWrites()
191 - return (int) sysConfig.values[KEY_MAX_UNFLUSHED_WRITES];
192 + return (int)(IPTR) sysConfig.values[KEY_MAX_UNFLUSHED_WRITES];
195 int Config::getMaxUnflushedWriteTime()
197 - return (int) sysConfig.values[KEY_MAX_UNFLUSHED_WRITE_TIME];
198 + return (int)(IPTR) sysConfig.values[KEY_MAX_UNFLUSHED_WRITE_TIME];
201 int Config::getProcessPriorityLevel()
203 - return (int) sysConfig.values[KEY_PROCESS_PRIORITY_LEVEL];
204 + return (int)(IPTR) sysConfig.values[KEY_PROCESS_PRIORITY_LEVEL];
207 bool Config::getCreateInternalWindow()
209 int Config::getRemoteAuxPort()
212 - return (int) sysConfig.values[KEY_REMOTE_AUX_PORT];
213 + return (int)(IPTR) sysConfig.values[KEY_REMOTE_AUX_PORT];
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
221 #define JRD_BUGCHK 15 /* facility code for bugcheck messages */
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)
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 @@
236 - if (!(result = ib_fdopen((int) result, "w+")))
237 + if (!(result = ib_fdopen((int)(IPTR) result, "w+")))
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
244 // ** Begin date/time/timestamp support *
247 - switch ((KWWORDS) (int) node->nod_arg[0])
248 + switch ((KWWORDS) (int)(IPTR) node->nod_arg[0])
251 STUFF(blr_extract_year);
253 // ** Begin date/time/timestamp support *
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)
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 @@
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;
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];
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
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);
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
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;
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 @@
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 @@
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]];
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
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;
335 // may happen. I checked triggers and insert/update statements.
336 // All seem to work fine.
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],
342 if (!impure->vlu_desc.dsc_address)
343 @@ -828,10 +828,10 @@
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]];
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;
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
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]);
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,
383 @@ -1189,7 +1189,7 @@
386 impure->vlu_misc.vlu_int64 = DPM_gen_id(tdbb,
389 node->nod_arg[e_gen_id],
391 MOV_get_int64(values[0],
392 @@ -1383,7 +1383,7 @@
396 - desc->dsc_address = record->rec_data + (int) desc->dsc_address;
397 + desc->dsc_address = record->rec_data + (int) (IPTR) desc->dsc_address;
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];
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)
410 @@ -3395,7 +3395,7 @@
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;
418 /* Format dbkey as vector of relation id, record number */
419 @@ -4487,7 +4487,7 @@
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]];
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
431 if (to->nod_type == nod_field)
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;
437 SET_NULL(record, id);
439 @@ -1049,7 +1049,7 @@
440 desc = &format->fmt_desc[n];
441 if (!desc->dsc_address)
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))
447 if (length = desc->dsc_length)
448 @@ -1134,7 +1134,7 @@
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;
457 @@ -2652,7 +2652,7 @@
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;
466 @@ -2664,7 +2664,7 @@
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;
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
479 if ( (literal = (LIT) field->fld_missing_value) ) {
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))
487 desc_ptr->dsc_length &&
488 TEST_NULL(record, i))
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) ) {
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;
501 - (int) (*idx->idx_foreign_relations)[index_number]);
502 + (int) (IPTR) (*idx->idx_foreign_relations)[index_number]);
504 (USHORT) (IPTR) (*idx->idx_foreign_indexes)[index_number];
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
509 node = request->req_message;
510 if (item == gds_info_message_number)
512 - INF_convert((SLONG) node->nod_arg[e_msg_number],
513 + INF_convert((SLONG)(IPTR) node->nod_arg[e_msg_number],
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 @@
521 if ( (node = csb->csb_rpt[i].csb_message) )
523 - if ((int) node->nod_arg[e_msg_number] == 0) {
524 + if ((int)(IPTR) node->nod_arg[e_msg_number] == 0) {
526 - } else if ((int) node->nod_arg[e_msg_number] == 1) {
527 + } else if ((int)(IPTR) node->nod_arg[e_msg_number] == 1) {
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 @@
535 #if !defined(REQUESTER)
539 extern IHNDL internal_db_handles;
542 #endif /* REQUESTER */
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
547 for (loop = 0; loop < 20; loop++) {
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)
553 if (!SYSCALL_INTERRUPTED(errno)) {
554 error(status_vector, journal, errno, "socket");
555 @@ -859,18 +859,18 @@
559 - if (!connect((int) journal->jrn_channel, (sockaddr*)&address, sizeof(address)))
560 + if (!connect((int)(IPTR) journal->jrn_channel, (sockaddr*)&address, sizeof(address)))
566 - close((int) journal->jrn_channel);
567 + close((int)(IPTR) journal->jrn_channel);
570 if (!SYSCALL_INTERRUPTED(errno)) {
572 - close((int) journal->jrn_channel);
573 + close((int)(IPTR) journal->jrn_channel);
575 *ret_jrn = (JRN) NULL;
581 - close((int) journal->jrn_channel);
582 + close((int)(IPTR) journal->jrn_channel);
590 - close((int) journal->jrn_channel);
591 + close((int)(IPTR) journal->jrn_channel);
595 @@ -1056,7 +1056,7 @@
596 with us, so keep trying until successful. */
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));
604 @@ -1095,7 +1095,7 @@
605 **************************************/
608 - if (close((int) journal->jrn_channel) < 0) {
609 + if (close((int)(IPTR) journal->jrn_channel) < 0) {
610 error(status_vector, journal, errno, "close");
613 @@ -1166,7 +1166,7 @@
614 with us, so keep trying until successful. */
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));
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
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]);
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
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);
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,
649 lower.key_length = impure->irsb_nav_lower_length;
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,
657 @@ -1404,7 +1404,7 @@
658 tdbb = GET_THREAD_DATA;
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);
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;
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]);
675 @@ -1656,7 +1656,7 @@
678 struct idx *>((SCHAR *) impure +
679 - (SLONG) rsb->rsb_arg[RSB_NAV_idx_offset]),
680 + (SLONG)(IPTR) rsb->rsb_arg[RSB_NAV_idx_offset]),
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];
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]);
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]),
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])),
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]),
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]),
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 @@
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)
749 @@ -3211,7 +3211,7 @@
750 end_item = map->smb_rpt + map->smb_count;
751 for (item = map->smb_rpt; item < end_item; item++) {
753 - to.dsc_address = data + (ULONG) to.dsc_address;
754 + to.dsc_address = data + (ULONG)(IPTR) to.dsc_address;
756 if (item->smb_node) {
757 from = EVL_expr(tdbb, item->smb_node);
758 @@ -3301,12 +3301,12 @@
760 desc2.dsc_address = (UCHAR *) & indicator;
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);
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) {
772 /* YYY - not necessarily the right thing to do */
773 @@ -3336,9 +3336,9 @@
775 CLEAR_NULL(record, to_id);
777 - desc1.dsc_address = msg + (int) desc1.dsc_address;
778 + desc1.dsc_address = msg + (int)(IPTR) desc1.dsc_address;
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);
785 @@ -3817,7 +3817,7 @@
786 if (!sfb_->sfb_file_name) {
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,
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 */
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);
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 @@
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));
815 if ((constant = node->nod_arg[e_cnstr_type]) != NULL)
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);
822 @@ -1270,7 +1270,7 @@
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;
831 @@ -1336,25 +1336,25 @@
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);
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);
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);
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);
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);
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);
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]));
901 request->append_file_start(0);
903 - SLONG length = (SLONG) ptr[e_shadow_length];
904 + SLONG length = (SLONG)(IPTR) ptr[e_shadow_length];
905 request->append_file_length(length);
907 request->append_uchar(gds_dyn_end);
908 @@ -2806,15 +2806,15 @@
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]);
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]);
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];
927 assert(node->nod_type == nod_mod_trigger);
928 @@ -2893,7 +2893,7 @@
929 for (DSQL_NOD* ptr = temp->nod_arg; ptr < end; ++ptr)
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)
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 */
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>"
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 */
954 if (!arguments || position > arguments->nod_count || position < 1) {
955 @@ -3024,10 +3024,10 @@
956 if (field->fld_dtype == dtype_blob)
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 */
968 @@ -3035,7 +3035,7 @@
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]));
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);
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);
985 else if (field->fld_dtype == dtype_blob) {
986 @@ -3677,13 +3677,13 @@
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));
994 constant = node->nod_arg[e_cnstr_type];
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);
1002 @@ -4173,7 +4173,7 @@
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);
1011 @@ -4611,25 +4611,25 @@
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);
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);
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);
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);
1041 @@ -5095,7 +5095,7 @@
1042 const_node = element->nod_arg[e_mod_fld_pos_new_position];
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;
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;
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;
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);
1070 s = isc_put_segment(tdsql->tsql_status,
1071 GDS_REF(request->req_handle),
1072 @@ -3210,7 +3210,7 @@
1073 PAR parameter, null;
1075 if (node->nod_type == nod_constant)
1076 - return (SSHORT)(SLONG) node->nod_arg[0];
1077 + return (SSHORT)(SLONG)(IPTR) node->nod_arg[0];
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 */
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)
1089 if (!desc.dsc_dtype)
1090 @@ -3985,7 +3985,7 @@
1092 if ((null = parameter->par_null) != NULL)
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)
1099 @@ -4000,7 +4000,7 @@
1103 - desc.dsc_address = dsql_msg + (SLONG) desc.dsc_address;
1104 + desc.dsc_address = dsql_msg + (SLONG)(IPTR) desc.dsc_address;
1106 MOVD_move(¶meter->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
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;
1119 @@ -1021,7 +1021,7 @@
1121 if (node->nod_arg[e_exec_into_block]) {
1123 - STUFF((int)(SLONG) node->nod_arg[e_exec_into_number]);
1124 + STUFF((int)(SLONG)(IPTR) node->nod_arg[e_exec_into_number]);
1126 STUFF(blr_exec_into);
1127 temp = node->nod_arg[e_exec_into_list];
1128 @@ -1049,12 +1049,12 @@
1132 - STUFF((int)(SLONG) node->nod_arg[e_label_number]);
1133 + STUFF((int)(SLONG)(IPTR) node->nod_arg[e_label_number]);
1136 case nod_breakleave:
1138 - STUFF((int)(SLONG) node->nod_arg[e_breakleave_number]);
1139 + STUFF((int)(SLONG)(IPTR) node->nod_arg[e_breakleave_number]);
1143 @@ -1069,7 +1069,7 @@
1147 - STUFF((int)(SLONG) node->nod_arg[e_abrt_number]);
1148 + STUFF((int)(SLONG)(IPTR) node->nod_arg[e_abrt_number]);
1151 case nod_start_savepoint:
1152 @@ -1149,14 +1149,14 @@
1156 - STUFF((int)(SLONG) node->nod_arg[e_while_number]);
1157 + STUFF((int)(SLONG)(IPTR) node->nod_arg[e_while_number]);
1161 GEN_expr(request, node->nod_arg[e_while_cond]);
1162 GEN_statement(request, node->nod_arg[e_while_action]);
1164 - STUFF((int)(SLONG) node->nod_arg[e_while_number]);
1165 + STUFF((int)(SLONG)(IPTR) node->nod_arg[e_while_number]);
1169 @@ -1556,7 +1556,7 @@
1170 switch (node->nod_type) {
1172 STUFF(blr_sql_code);
1173 - STUFF_WORD((USHORT)(ULONG) node->nod_arg[0]);
1174 + STUFF_WORD((USHORT)(ULONG)(IPTR) node->nod_arg[0]);
1178 @@ -1667,7 +1667,7 @@
1179 what loop is the user trying to abandon? */
1180 if (for_select->nod_arg [e_flp_action]) {
1182 - STUFF ((int) for_select->nod_arg [e_flp_number]);
1183 + STUFF ((int)(IPTR) for_select->nod_arg [e_flp_number]);
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);
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
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); }
1207 @@ -1158,7 +1158,7 @@
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; }
1214 | RAW_PARTITIONS equals pos_short_integer
1215 { lex.g_file->fil_partitions = (SSHORT) (IPTR) $3;
1216 @@ -1178,9 +1178,9 @@
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;}
1228 @@ -2186,7 +2186,7 @@
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 @@
1239 | '(' signed_long_integer ')'
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)
1248 if ( ( (client_dialect <= SQL_DIALECT_V5) &&
1249 (db_dialect > SQL_DIALECT_V5) ) ||
1250 @@ -2469,7 +2469,7 @@
1254 - if ((SLONG) $2 < 5)
1255 + if ((SLONG)(IPTR) $2 < 5)
1257 lex.g_field->fld_dtype = dtype_short;
1258 lex.g_field->fld_length = sizeof (SSHORT);
1259 @@ -2483,13 +2483,13 @@
1261 | '(' signed_long_integer ',' signed_long_integer ')'
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)
1274 if ( ( (client_dialect <= SQL_DIALECT_V5) &&
1275 (db_dialect > SQL_DIALECT_V5) ) ||
1276 @@ -2527,7 +2527,7 @@
1280 - if ((SLONG) $2 < 5)
1281 + if ((SLONG)(IPTR) $2 < 5)
1283 lex.g_field->fld_dtype = dtype_short;
1284 lex.g_field->fld_length = sizeof (SSHORT);
1285 @@ -2553,7 +2553,7 @@
1287 float_type : KW_FLOAT precision_opt
1289 - if ((SLONG) $2 > 7)
1290 + if ((SLONG)(IPTR) $2 > 7)
1292 lex.g_field->fld_dtype = dtype_double;
1293 lex.g_field->fld_length = sizeof (double);
1294 @@ -3706,32 +3706,32 @@
1296 signed_short_integer : nonneg_short_integer
1297 | '-' neg_short_integer
1298 - { $$ = (DSQL_NOD) - (SLONG) $2; }
1299 + { $$ = (DSQL_NOD) - (SLONG)(IPTR) $2; }
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 */
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 */
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 */
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 */
1332 @@ -3739,7 +3739,7 @@
1334 signed_long_integer : long_integer
1336 - { $$ = (DSQL_NOD) - (SLONG) $2; }
1337 + { $$ = (DSQL_NOD) - (SLONG)(IPTR) $2; }
1340 long_integer : NUMBER
1341 @@ -3820,14 +3820,14 @@
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;
1368 event->p_event_rid = rem_event->rvnt_id;
1369 @@ -6225,8 +6225,8 @@
1370 for (; to_desc < end_desc; from_desc++, 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);
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
1386 - p = buffer + (ULONG) desc->dsc_address;
1387 + p = buffer + (ULONG)(IPTR) desc->dsc_address;
1389 switch (desc->dsc_dtype) {
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
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]);
1402 @@ -1561,7 +1561,7 @@
1406 - if (request->req_scope_level == (ULONG) node->nod_arg[1]) {
1407 + if (request->req_scope_level == (ULONG)(IPTR) node->nod_arg[1]) {
1411 @@ -4426,7 +4426,7 @@
1412 (slist_node->nod_type == nod_list))
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))
1419 ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104,
1420 @@ -4819,9 +4819,9 @@
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 */
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 */
1441 --- Firebird/src/jrd/dpm.epp.org 2007-02-28 00:25:04.202623000 +0100
1442 +++ Firebird/src/jrd/dpm.epp 2007-02-28 00:27:43.810623000 +0100
1443 @@ -2124,7 +2124,7 @@
1444 CCH_precedence(tdbb, &rpb->rpb_window, -rpb->rpb_transaction);
1445 CCH_MARK(tdbb, &rpb->rpb_window);
1446 page = (DPG) rpb->rpb_window.win_buffer;
1447 - size = SQZ_length(tdbb, (SCHAR*) rpb->rpb_address, (int) rpb->rpb_length, &dcc);
1448 + size = SQZ_length(tdbb, (SCHAR*) rpb->rpb_address, (int)(IPTR) rpb->rpb_length, &dcc);
1450 /* It is critical that the record be padded, if necessary, to the length of
1451 a fragmented record header. Compute the amount of fill required. */
1452 @@ -2753,7 +2753,7 @@
1453 rpb->rpb_page = rpb->rpb_window.win_page;
1454 rpb->rpb_line = slot;
1456 - (SLONG) page->dpg_sequence * dbb->dbb_max_records + slot;
1457 + (SLONG)(IPTR) page->dpg_sequence * dbb->dbb_max_records + slot;
1460 LLS_PUSH((BLK) rpb->rpb_page, &record->rec_precedence);