Riportate nella sezione per Codebase 6 le modifiche per aprire
un file senza indici. git-svn-id: svn://10.65.10.50/trunk@5387 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d6763dce8d
commit
5181adc65e
@ -104,9 +104,9 @@ void DB_exit(void)
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
apertura del file 'filename'. Il parametro mode consente se != 0 l'apertura
|
||||
esclusiva
|
||||
esclusiva. Il parametro index consente se == 0 l'apertura senza indici
|
||||
--------------------------------------------------------------------------*/
|
||||
int DB_open(const char *filename,int mode)
|
||||
int DB_open(const char *filename,int mode,int index)
|
||||
{
|
||||
int i,found;
|
||||
|
||||
@ -122,7 +122,11 @@ int DB_open(const char *filename,int mode)
|
||||
/* se non ci sono posti liberi torna -1 */
|
||||
if(found==-1) return(found);
|
||||
code_base.errorCode=0;
|
||||
if (index == 0) /* Se e' stata richiesta l'apertura senza indici, setta il flag */
|
||||
code_base.autoOpen = 0;
|
||||
dbdata[found]=d4open(&code_base,(char*)filename);
|
||||
if (index == 0) /* Restore the configuration of opening indexes*/
|
||||
code_base.autoOpen = 1;
|
||||
if(dbdata[found]==0) return(-1);
|
||||
code_base.accessMode=0;
|
||||
d4tagSelect(dbdata[found],d4tagDefault(dbdata[found]));
|
||||
@ -616,7 +620,7 @@ int DB_packfile(short vis, const char * filename, long eod)
|
||||
int rt=0,handle;
|
||||
|
||||
code_base.autoOpen = 0;
|
||||
handle=DB_open(filename,1); /* Exclusive mode open! */
|
||||
handle=DB_open(filename,1,0); /* Exclusive mode open! */
|
||||
if (handle > -1)
|
||||
{
|
||||
char s[81];
|
||||
@ -657,7 +661,7 @@ int DB_packmemo(short vis, const char * filename)
|
||||
int rt=0,handle;
|
||||
|
||||
code_base.autoOpen = 0;
|
||||
handle=DB_open(filename,1); /* Exclusive mode open! */
|
||||
handle=DB_open(filename,1,0); /* Exclusive mode open! */
|
||||
if (handle > -1)
|
||||
{
|
||||
char s[81];
|
||||
@ -764,7 +768,7 @@ int DB_packindex(short vis, const char * filename, RecDes *r, long *peod, bool a
|
||||
strcat(s,filename);
|
||||
|
||||
code_base.autoOpen=0 ;
|
||||
handle=DB_open(filename,1); /* Exclusive mode open */
|
||||
handle=DB_open(filename,1,0); /* Exclusive mode open */
|
||||
if (handle > -1)
|
||||
{
|
||||
int i;
|
||||
@ -1289,9 +1293,9 @@ void DB_exit(void)
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
apertura del file 'filename'. Il parametro mode consente se != 0 l'apertura
|
||||
esclusiva
|
||||
esclusiva. Il parametro index consente se == 0 l'apertura senza indici
|
||||
--------------------------------------------------------------------------*/
|
||||
int DB_open(const char *filename,int mode)
|
||||
int DB_open(const char *filename,int mode, int index)
|
||||
{
|
||||
int i,found;
|
||||
|
||||
@ -1307,7 +1311,11 @@ int DB_open(const char *filename,int mode)
|
||||
/* se non ci sono posti liberi torna -1 */
|
||||
if(found==-1) return(found);
|
||||
code_base.error_code=0;
|
||||
if (index == 0) /* Se e' stata richiesta l'apertura senza indici, setta il flag */
|
||||
code_base.auto_open = 0;
|
||||
dbdata[found]=d4open(&code_base,(char*)filename);
|
||||
if (index == 0) /* Restore the configuration of opening indexes*/
|
||||
code_base.auto_open = 1;
|
||||
if(dbdata[found]==0) return(-1);
|
||||
x4init(&xdb[found],dbdata[found],notdelete,dbdata[found]);
|
||||
code_base.exclusive=0;
|
||||
@ -1885,7 +1893,7 @@ int DB_packfile(short vis, const char * filename, long eod)
|
||||
codebase.auto_open = 0 cosi' non apre gli indici
|
||||
*/
|
||||
code_base.auto_open = 0;
|
||||
handle=DB_open(filename,1); /* Exclusive mode open! */
|
||||
handle=DB_open(filename,1,0); /* Exclusive mode open! */
|
||||
if (handle > -1)
|
||||
{
|
||||
char s[81];
|
||||
@ -1926,7 +1934,7 @@ int DB_packmemo(short vis, const char * filename)
|
||||
int rt=0,handle;
|
||||
|
||||
code_base.auto_open = 0;
|
||||
handle=DB_open(filename,1); /* Exclusive mode open! */
|
||||
handle=DB_open(filename,1,0); /* Exclusive mode open! */
|
||||
if (handle > -1)
|
||||
{
|
||||
char s[81];
|
||||
@ -2034,7 +2042,7 @@ int DB_packindex(short vis, const char * filename, RecDes *r, long *peod, bool a
|
||||
|
||||
/* codebase.auto_open = 0 cosi' non apre gli indici */
|
||||
code_base.auto_open=0 ;
|
||||
handle=DB_open(filename,1); /* Exclusive mode open */
|
||||
handle=DB_open(filename,1,0); /* Exclusive mode open */
|
||||
if (handle > -1)
|
||||
{
|
||||
int i;
|
||||
|
@ -23,7 +23,7 @@ extern "C" {
|
||||
#endif
|
||||
void DB_init(void);
|
||||
void DB_exit(void);
|
||||
int DB_open(const char *filename,int mode);
|
||||
int DB_open(const char *filename,int mode,int index);
|
||||
int DB_close(int handle);
|
||||
char *DB_getrecord(int handle);
|
||||
int DB_reclen(int handle);
|
||||
|
Loading…
x
Reference in New Issue
Block a user