mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 21:23:03 +01:00
Cleanup.
This commit is contained in:
parent
97f6386c9a
commit
00c5d74904
@ -22,36 +22,26 @@ enum BlockType
|
||||
type_tra,
|
||||
type_nod,
|
||||
type_csb,
|
||||
//type_lls, // For what I see, it has nothing to do with qli's type_lls
|
||||
type_rec,
|
||||
type_rsb,
|
||||
//type_bms,
|
||||
type_dfw,
|
||||
type_tfb,
|
||||
type_str,
|
||||
//type_dcc,
|
||||
type_blb,
|
||||
type_irb,
|
||||
//type_scl,
|
||||
type_fld,
|
||||
type_ext,
|
||||
//type_mfb,
|
||||
type_riv,
|
||||
//type_usr,
|
||||
type_att,
|
||||
type_sym,
|
||||
type_fun,
|
||||
type_irl,
|
||||
//type_acc,
|
||||
type_idl,
|
||||
//type_rsc,
|
||||
type_sdw,
|
||||
type_vct,
|
||||
type_blf,
|
||||
type_arr,
|
||||
type_map,
|
||||
//type_log,
|
||||
//type_dls,
|
||||
type_prc,
|
||||
type_prm,
|
||||
type_sav,
|
||||
@ -60,12 +50,9 @@ enum BlockType
|
||||
type_tpc,
|
||||
type_svc,
|
||||
type_lwt,
|
||||
//type_vcx,
|
||||
type_srpb,
|
||||
type_opt,
|
||||
type_prf,
|
||||
//type_rse,
|
||||
//type_lit,
|
||||
type_asb,
|
||||
type_ctl,
|
||||
|
||||
@ -82,27 +69,18 @@ enum BlockType
|
||||
dsql_type_fil,
|
||||
dsql_type_nod,
|
||||
dsql_type_msg,
|
||||
//dsql_type_lls,
|
||||
dsql_type_str,
|
||||
dsql_type_sym,
|
||||
//dsql_type_err,
|
||||
dsql_type_tra,
|
||||
dsql_type_udf,
|
||||
dsql_type_var,
|
||||
dsql_type_blb,
|
||||
dsql_type_prc,
|
||||
dsql_type_intlsym,
|
||||
//dsql_type_vec,
|
||||
dsql_type_imp_join,
|
||||
|
||||
//alice_type_frb,
|
||||
//alice_type_hnk,
|
||||
//alice_type_plb,
|
||||
//alice_type_vec,
|
||||
//alice_type_vcl,
|
||||
alice_type_tdr,
|
||||
alice_type_str,
|
||||
//alice_type_lls,
|
||||
|
||||
rem_type_rdb,
|
||||
rem_type_rrq,
|
||||
|
@ -89,8 +89,7 @@ IMPLEMENT_TRACE_ROUTINE(cch_trace, "CCH")
|
||||
#define PAGE_LOCK_RELEASE(lock)
|
||||
#define PAGE_LOCK_ASSERT(lock)
|
||||
#define PAGE_LOCK_RE_POST(lock)
|
||||
#define PAGE_OVERHEAD (sizeof (bcb_repeat) + sizeof(BufferDesc) + \
|
||||
(int) dbb->dbb_page_size)
|
||||
#define PAGE_OVERHEAD (sizeof (bcb_repeat) + sizeof(BufferDesc) + (int) dbb->dbb_page_size)
|
||||
#else
|
||||
#define PAGE_LOCK_RELEASE(lock) LCK_release (tdbb, lock)
|
||||
#define PAGE_LOCK_ASSERT(lock) LCK_assert (tdbb, lock)
|
||||
@ -137,8 +136,9 @@ static void release_bdb(thread_db*, BufferDesc*, const bool, const bool, const b
|
||||
static void unmark(thread_db*, WIN*);
|
||||
static bool writeable(BufferDesc*);
|
||||
static bool is_writeable(BufferDesc*, const ULONG);
|
||||
static int write_buffer(thread_db*, BufferDesc*, const PageNumber, const bool, ISC_STATUS* const, const bool);
|
||||
static bool write_page(thread_db*, BufferDesc*, /*const bool,*/ ISC_STATUS* const, const bool);
|
||||
static int write_buffer(thread_db*, BufferDesc*, const PageNumber, const bool, ISC_STATUS* const,
|
||||
const bool);
|
||||
static bool write_page(thread_db*, BufferDesc*, ISC_STATUS* const, const bool);
|
||||
static void set_diff_page(thread_db*, BufferDesc*);
|
||||
static void set_dirty_flag(thread_db*, BufferDesc*);
|
||||
static void clear_dirty_flag(thread_db*, BufferDesc*);
|
||||
@ -1913,7 +1913,7 @@ void CCH_precedence(thread_db* tdbb, WIN* window, PageNumber page)
|
||||
|
||||
|
||||
#ifdef CACHE_READER
|
||||
void CCH_prefetch(thread_db* tdbb, SLONG * pages, SSHORT count)
|
||||
void CCH_prefetch(thread_db* tdbb, SLONG* pages, SSHORT count)
|
||||
{
|
||||
/**************************************
|
||||
*
|
||||
@ -4545,7 +4545,7 @@ static void down_grade(thread_db* tdbb, BufferDesc* bdb)
|
||||
|
||||
// Everything is clear to write this buffer. Do so and reduce the lock
|
||||
|
||||
if (invalid || !write_page(tdbb, bdb, /*false,*/ tdbb->tdbb_status_vector, true))
|
||||
if (invalid || !write_page(tdbb, bdb, tdbb->tdbb_status_vector, true))
|
||||
{
|
||||
bdb->bdb_flags |= BDB_not_valid;
|
||||
clear_dirty_flag(tdbb, bdb);
|
||||
@ -6354,7 +6354,7 @@ static int write_buffer(thread_db* tdbb,
|
||||
if ((bdb->bdb_flags & BDB_dirty || (write_thru && bdb->bdb_flags & BDB_db_dirty)) &&
|
||||
!(bdb->bdb_flags & BDB_marked))
|
||||
{
|
||||
if ( (result = write_page(tdbb, bdb, /*write_thru,*/ status, false)) ) {
|
||||
if ( (result = write_page(tdbb, bdb, status, false)) ) {
|
||||
clear_precedence(tdbb, bdb);
|
||||
}
|
||||
}
|
||||
@ -6378,11 +6378,7 @@ static int write_buffer(thread_db* tdbb,
|
||||
}
|
||||
|
||||
|
||||
static bool write_page(thread_db* tdbb,
|
||||
BufferDesc* bdb,
|
||||
//const bool write_thru,
|
||||
ISC_STATUS* const status,
|
||||
const bool inAst)
|
||||
static bool write_page(thread_db* tdbb, BufferDesc* bdb, ISC_STATUS* const status, const bool inAst)
|
||||
{
|
||||
/**************************************
|
||||
*
|
||||
|
@ -130,7 +130,7 @@ EventManager::~EventManager()
|
||||
m_cleanupSemaphore.tryEnter(5);
|
||||
|
||||
#if (defined HAVE_MMAP || defined WIN_NT)
|
||||
ISC_unmap_object(localStatus, /*&m_shmemData,*/ (UCHAR**) &m_process, sizeof(prb));
|
||||
ISC_unmap_object(localStatus, (UCHAR**) &m_process, sizeof(prb));
|
||||
#else
|
||||
m_process = NULL;
|
||||
#endif
|
||||
|
@ -1029,7 +1029,7 @@ static idx_e check_duplicates(thread_db* tdbb,
|
||||
rpb.rpb_number.setValue(accessor.current());
|
||||
|
||||
if (rpb.rpb_number != insertion->iib_number &&
|
||||
VIO_get_current(tdbb, /*&old_rpb,*/ &rpb, insertion->iib_transaction, tdbb->getDefaultPool(),
|
||||
VIO_get_current(tdbb, &rpb, insertion->iib_transaction, tdbb->getDefaultPool(),
|
||||
is_fk, has_old_values) )
|
||||
{
|
||||
// dimitr: we shouldn't ignore status exceptions which take place
|
||||
|
@ -55,7 +55,7 @@ void ISC_mutex_fini(struct mtx*);
|
||||
|
||||
#if defined HAVE_MMAP || defined WIN_NT
|
||||
UCHAR* ISC_map_object(Firebird::Arg::StatusVector&, sh_mem*, ULONG, ULONG);
|
||||
void ISC_unmap_object(Firebird::Arg::StatusVector&, /*sh_mem*,*/ UCHAR**, ULONG);
|
||||
void ISC_unmap_object(Firebird::Arg::StatusVector&, UCHAR**, ULONG);
|
||||
#endif
|
||||
|
||||
#ifdef UNIX
|
||||
|
@ -556,7 +556,8 @@ namespace {
|
||||
{
|
||||
MutexLockGuard guard(mutex);
|
||||
int n = getByAddress((UCHAR*) s);
|
||||
if (n >= 0) {
|
||||
if (n >= 0)
|
||||
{
|
||||
IPC_TRACE(("-rem SF with %p %p\n", sharedFiles[n].from, sharedFiles[n].to));
|
||||
sharedFiles.remove(n);
|
||||
}
|
||||
@ -1013,9 +1014,7 @@ int ISC_event_post(event_t* event)
|
||||
}
|
||||
|
||||
|
||||
int ISC_event_wait(event_t* event,
|
||||
SLONG value,
|
||||
const SLONG micro_seconds)
|
||||
int ISC_event_wait(event_t* event, SLONG value, const SLONG micro_seconds)
|
||||
{
|
||||
/**************************************
|
||||
*
|
||||
@ -1214,9 +1213,7 @@ int ISC_event_post(event_t* event)
|
||||
}
|
||||
|
||||
|
||||
int ISC_event_wait(event_t* event,
|
||||
const SLONG value,
|
||||
const SLONG micro_seconds)
|
||||
int ISC_event_wait(event_t* event, const SLONG value, const SLONG micro_seconds)
|
||||
{
|
||||
/**************************************
|
||||
*
|
||||
@ -1389,9 +1386,7 @@ int ISC_event_post(event_t* event)
|
||||
}
|
||||
|
||||
|
||||
int ISC_event_wait(event_t* event,
|
||||
const SLONG value,
|
||||
const SLONG micro_seconds)
|
||||
int ISC_event_wait(event_t* event, const SLONG value, const SLONG micro_seconds)
|
||||
{
|
||||
/**************************************
|
||||
*
|
||||
@ -2019,10 +2014,12 @@ UCHAR* ISC_map_file(Arg::StatusVector& statusVector,
|
||||
// is complete. That way potential race conditions are avoided.
|
||||
|
||||
#ifndef HAVE_FLOCK
|
||||
if (lockf(fd, F_LOCK, 0)) {
|
||||
if (lockf(fd, F_LOCK, 0))
|
||||
{
|
||||
error(statusVector, "lockf", errno);
|
||||
#else
|
||||
if (flock(fd, LOCK_EX)) {
|
||||
if (flock(fd, LOCK_EX))
|
||||
{
|
||||
error(statusVector, "flock", errno);
|
||||
#endif
|
||||
fclose(fp);
|
||||
@ -2605,10 +2602,7 @@ UCHAR* ISC_map_object(Arg::StatusVector& statusVector,
|
||||
}
|
||||
|
||||
|
||||
void ISC_unmap_object(Arg::StatusVector& statusVector,
|
||||
//sh_mem* shmem_data,
|
||||
UCHAR** object_pointer,
|
||||
ULONG object_length)
|
||||
void ISC_unmap_object(Arg::StatusVector& statusVector, UCHAR** object_pointer, ULONG object_length)
|
||||
{
|
||||
/**************************************
|
||||
*
|
||||
@ -2702,10 +2696,7 @@ UCHAR* ISC_map_object(Arg::StatusVector& statusVector,
|
||||
}
|
||||
|
||||
|
||||
void ISC_unmap_object(Arg::StatusVector& statusVector,
|
||||
//sh_mem* shmem_data,
|
||||
UCHAR** object_pointer,
|
||||
ULONG /*object_length*/)
|
||||
void ISC_unmap_object(Arg::StatusVector& statusVector, UCHAR** object_pointer, ULONG /*object_length*/)
|
||||
{
|
||||
/**************************************
|
||||
*
|
||||
|
@ -117,7 +117,7 @@ static RecordSource* gen_outer(thread_db*, OptimizerBlk*, RecordSelExpr*, RiverS
|
||||
static ProcedureScan* gen_procedure(thread_db*, OptimizerBlk*, jrd_nod*);
|
||||
static RecordSource* gen_residual_boolean(thread_db*, OptimizerBlk*, RecordSource*);
|
||||
static RecordSource* gen_retrieval(thread_db*, OptimizerBlk*, SSHORT, jrd_nod**, bool, bool, jrd_nod**);
|
||||
static RecordSource* gen_rsb(thread_db*, OptimizerBlk*, RecordSource*, jrd_nod*, SSHORT, //jrd_rel*,
|
||||
static RecordSource* gen_rsb(thread_db*, OptimizerBlk*, RecordSource*, jrd_nod*, SSHORT,
|
||||
const string&, jrd_nod*);
|
||||
static SkipRowsStream* gen_skip (thread_db*, OptimizerBlk*, RecordSource*, jrd_nod*);
|
||||
static SortedStream* gen_sort(thread_db*, OptimizerBlk*, const UCHAR*, const UCHAR*,
|
||||
@ -3200,7 +3200,7 @@ static RecordSource* gen_retrieval(thread_db* tdbb,
|
||||
rsb = nav_rsb;
|
||||
}
|
||||
|
||||
return gen_rsb(tdbb, opt, rsb, inversion, stream, /*relation,*/ alias, opt_boolean);
|
||||
return gen_rsb(tdbb, opt, rsb, inversion, stream, alias, opt_boolean);
|
||||
}
|
||||
|
||||
|
||||
@ -3209,7 +3209,6 @@ static RecordSource* gen_rsb(thread_db* tdbb,
|
||||
RecordSource* rsb,
|
||||
jrd_nod* inversion,
|
||||
SSHORT stream,
|
||||
//jrd_rel* relation,
|
||||
const string& alias,
|
||||
jrd_nod* boolean)
|
||||
{
|
||||
|
@ -101,7 +101,7 @@ static void expunge(thread_db*, record_param*, const jrd_tra*, SLONG);
|
||||
static bool dfw_should_know(record_param* org_rpb, record_param* new_rpb,
|
||||
USHORT irrelevant_field, bool void_update_is_relevant = false);
|
||||
static void garbage_collect(thread_db*, record_param*, SLONG, RecordStack&);
|
||||
static void garbage_collect_idx(thread_db*, record_param*, /*record_param*,*/ Record*, Record*);
|
||||
static void garbage_collect_idx(thread_db*, record_param*, Record*, Record*);
|
||||
#ifdef GARBAGE_THREAD
|
||||
static THREAD_ENTRY_DECLARE garbage_collector(THREAD_ENTRY_PARAM);
|
||||
#endif
|
||||
@ -124,8 +124,7 @@ static Record* replace_gc_record(jrd_rel*, Record**, USHORT);
|
||||
static void replace_record(thread_db*, record_param*, PageStack*, const jrd_tra*);
|
||||
static void set_system_flag(thread_db*, record_param*, USHORT, SSHORT);
|
||||
static void update_in_place(thread_db*, jrd_tra*, record_param*, record_param*);
|
||||
static void verb_post(thread_db*, jrd_tra*, record_param*, Record*, //record_param*,
|
||||
const bool, const bool);
|
||||
static void verb_post(thread_db*, jrd_tra*, record_param*, Record*, const bool, const bool);
|
||||
|
||||
// Pick up relation ids
|
||||
#include "../jrd/ini.h"
|
||||
@ -1536,7 +1535,7 @@ void VIO_erase(thread_db* tdbb, record_param* rpb, jrd_tra* transaction)
|
||||
if (!(transaction->tra_flags & TRA_system) &&
|
||||
transaction->tra_save_point && transaction->tra_save_point->sav_verb_count)
|
||||
{
|
||||
verb_post(tdbb, transaction, rpb, 0, /*0,*/ same_tx, false);
|
||||
verb_post(tdbb, transaction, rpb, 0, same_tx, false);
|
||||
}
|
||||
|
||||
VIO_bump_count(tdbb, DBB_delete_count, relation);
|
||||
@ -1813,7 +1812,6 @@ bool VIO_get(thread_db* tdbb, record_param* rpb, jrd_tra* transaction, MemoryPoo
|
||||
|
||||
|
||||
bool VIO_get_current(thread_db* tdbb,
|
||||
//record_param* old_rpb,
|
||||
record_param* rpb,
|
||||
jrd_tra* transaction,
|
||||
MemoryPool* pool,
|
||||
@ -2398,7 +2396,7 @@ void VIO_modify(thread_db* tdbb, record_param* org_rpb, record_param* new_rpb, j
|
||||
if (!(transaction->tra_flags & TRA_system) &&
|
||||
transaction->tra_save_point && transaction->tra_save_point->sav_verb_count)
|
||||
{
|
||||
verb_post(tdbb, transaction, org_rpb, org_rpb->rpb_undo, /*new_rpb,*/ false, false);
|
||||
verb_post(tdbb, transaction, org_rpb, org_rpb->rpb_undo, false, false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -2431,7 +2429,7 @@ void VIO_modify(thread_db* tdbb, record_param* org_rpb, record_param* new_rpb, j
|
||||
if (!(transaction->tra_flags & TRA_system) &&
|
||||
transaction->tra_save_point && transaction->tra_save_point->sav_verb_count)
|
||||
{
|
||||
verb_post(tdbb, transaction, org_rpb, 0, /*0,*/ false, false);
|
||||
verb_post(tdbb, transaction, org_rpb, 0, false, false);
|
||||
}
|
||||
|
||||
// for an autocommit transaction, mark a commit as necessary
|
||||
@ -2871,7 +2869,7 @@ void VIO_store(thread_db* tdbb, record_param* rpb, jrd_tra* transaction)
|
||||
if (!(transaction->tra_flags & TRA_system) &&
|
||||
transaction->tra_save_point && transaction->tra_save_point->sav_verb_count)
|
||||
{
|
||||
verb_post(tdbb, transaction, rpb, 0, /*0,*/ false, false);
|
||||
verb_post(tdbb, transaction, rpb, 0, false, false);
|
||||
}
|
||||
|
||||
// for an autocommit transaction, mark a commit as necessary
|
||||
@ -3151,7 +3149,7 @@ void VIO_verb_cleanup(thread_db* tdbb, jrd_tra* transaction)
|
||||
}
|
||||
update_in_place(tdbb, transaction, &rpb, &new_rpb);
|
||||
if (!(transaction->tra_flags & TRA_system)) {
|
||||
garbage_collect_idx(tdbb, &rpb, /*&new_rpb,*/ NULL, NULL);
|
||||
garbage_collect_idx(tdbb, &rpb, NULL, NULL);
|
||||
}
|
||||
rpb.rpb_record = dead_record;
|
||||
}
|
||||
@ -3169,7 +3167,7 @@ void VIO_verb_cleanup(thread_db* tdbb, jrd_tra* transaction)
|
||||
if (!action->vct_undo ||
|
||||
!action->vct_undo->locate(Firebird::locEqual, rpb.rpb_number.getValue()))
|
||||
{
|
||||
verb_post(tdbb, transaction, &rpb, 0, /*0,*/ false, false);
|
||||
verb_post(tdbb, transaction, &rpb, 0, false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3191,10 +3189,10 @@ void VIO_verb_cleanup(thread_db* tdbb, jrd_tra* transaction)
|
||||
new_rpb.rpb_record = record;
|
||||
new_rpb.rpb_address = record->rec_data;
|
||||
new_rpb.rpb_length = record->rec_length;
|
||||
verb_post(tdbb, transaction, &rpb, record, /*&new_rpb,*/ same_tx, new_ver);
|
||||
verb_post(tdbb, transaction, &rpb, record, same_tx, new_ver);
|
||||
}
|
||||
else if (same_tx) {
|
||||
verb_post(tdbb, transaction, &rpb, 0, /*0,*/ true, new_ver);
|
||||
verb_post(tdbb, transaction, &rpb, 0, true, new_ver);
|
||||
}
|
||||
}
|
||||
} while (accessor.getNext());
|
||||
@ -3331,7 +3329,7 @@ bool VIO_writelock(thread_db* tdbb, record_param* org_rpb, jrd_tra* transaction)
|
||||
|
||||
if (!(transaction->tra_flags & TRA_system) && transaction->tra_save_point)
|
||||
{
|
||||
verb_post(tdbb, transaction, org_rpb, 0, /*0,*/ false, false);
|
||||
verb_post(tdbb, transaction, org_rpb, 0, false, false);
|
||||
}
|
||||
|
||||
// for an autocommit transaction, mark a commit as necessary
|
||||
@ -3807,7 +3805,7 @@ static void garbage_collect(thread_db* tdbb, record_param* rpb, SLONG prior_page
|
||||
|
||||
|
||||
static void garbage_collect_idx(thread_db* tdbb,
|
||||
record_param* org_rpb, //record_param* new_rpb,
|
||||
record_param* org_rpb,
|
||||
Record* old_data, Record* staying_data)
|
||||
{
|
||||
/**************************************
|
||||
@ -5110,7 +5108,6 @@ static void verb_post(thread_db* tdbb,
|
||||
jrd_tra* transaction,
|
||||
record_param* rpb,
|
||||
Record* old_data,
|
||||
//record_param* new_rpb,
|
||||
const bool same_tx, const bool new_ver)
|
||||
{
|
||||
/**************************************
|
||||
@ -5209,7 +5206,7 @@ static void verb_post(thread_db* tdbb,
|
||||
{
|
||||
// The passed old_data will not be used. Thus, garbage collect.
|
||||
|
||||
garbage_collect_idx(tdbb, rpb, /*new_rpb,*/ old_data, undo);
|
||||
garbage_collect_idx(tdbb, rpb, old_data, undo);
|
||||
}
|
||||
}
|
||||
else if (old_data)
|
||||
@ -5224,7 +5221,7 @@ static void verb_post(thread_db* tdbb,
|
||||
undo = action->vct_undo->current().setupRecord(transaction);
|
||||
}
|
||||
|
||||
garbage_collect_idx(tdbb, rpb, /*new_rpb,*/ old_data, undo);
|
||||
garbage_collect_idx(tdbb, rpb, old_data, undo);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ void VIO_fini(Jrd::thread_db*);
|
||||
bool VIO_garbage_collect(Jrd::thread_db*, Jrd::record_param*, const Jrd::jrd_tra*);
|
||||
Jrd::Record* VIO_gc_record(Jrd::thread_db*, Jrd::jrd_rel*);
|
||||
bool VIO_get(Jrd::thread_db*, Jrd::record_param*, Jrd::jrd_tra*, MemoryPool*);
|
||||
bool VIO_get_current(Jrd::thread_db*, /*Jrd::record_param*,*/ Jrd::record_param*, Jrd::jrd_tra*,
|
||||
bool VIO_get_current(Jrd::thread_db*, Jrd::record_param*, Jrd::jrd_tra*,
|
||||
MemoryPool*, bool, bool&);
|
||||
#ifdef GARBAGE_THREAD
|
||||
void VIO_init(Jrd::thread_db*);
|
||||
|
@ -229,7 +229,7 @@ LockManager::~LockManager()
|
||||
#endif
|
||||
|
||||
#if defined HAVE_MMAP || defined WIN_NT
|
||||
ISC_unmap_object(localStatus, /*&m_shmem,*/ (UCHAR**) &m_process, sizeof(prc));
|
||||
ISC_unmap_object(localStatus, (UCHAR**) &m_process, sizeof(prc));
|
||||
#else
|
||||
m_process = NULL;
|
||||
#endif
|
||||
|
@ -54,8 +54,7 @@ static bool matches(const TEXT*, SSHORT, const TEXT*, SSHORT);
|
||||
static bool sleuth(qli_nod*, const dsc*, const dsc*, const dsc*);
|
||||
static bool sleuth_check(USHORT, const UCHAR*, const UCHAR* const, const UCHAR*, const UCHAR* const);
|
||||
static bool sleuth_class(const USHORT, const UCHAR*, const UCHAR* const, UCHAR);
|
||||
static int sleuth_merge(const UCHAR*, /*const UCHAR* const,*/ const UCHAR*, const UCHAR* const,
|
||||
UCHAR* const);
|
||||
static int sleuth_merge(const UCHAR*, const UCHAR*, const UCHAR* const, UCHAR* const);
|
||||
static bool string_boolean(qli_nod*);
|
||||
static bool string_function(qli_nod*, SSHORT, const TEXT*, SSHORT, const TEXT*);
|
||||
|
||||
@ -964,9 +963,7 @@ static bool sleuth( qli_nod* node, const dsc* desc1, const dsc* desc2, const dsc
|
||||
// Merge search and control strings
|
||||
|
||||
UCHAR control[256];
|
||||
l2 = sleuth_merge((const UCHAR*) p2, //(const UCHAR*) (p2 + l2),
|
||||
(const UCHAR*) p1, (const UCHAR*) (p1 + l1),
|
||||
control);
|
||||
l2 = sleuth_merge((const UCHAR*) p2, (const UCHAR*) p1, (const UCHAR*) (p1 + l1), control);
|
||||
|
||||
// If source is not a blob, do a simple search
|
||||
|
||||
@ -1176,7 +1173,7 @@ static bool sleuth_class( const USHORT flags,
|
||||
}
|
||||
|
||||
|
||||
static int sleuth_merge(const UCHAR* match, //const UCHAR* const end_match,
|
||||
static int sleuth_merge(const UCHAR* match,
|
||||
const UCHAR* control, const UCHAR* const end_control,
|
||||
UCHAR* const combined)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user