Aggiunta specifica not deleted per eliminare i problemi di FoxPro con gli indici unique

git-svn-id: svn://10.65.10.50/trunk@2160 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1995-11-16 11:30:19 +00:00
parent 7894134315
commit f88e875169

View File

@ -31,10 +31,10 @@
#define S4DLL
#endif
#include <d4all.h>
#include <d4all.h>
#include <x4filter.h>
#include <i4chang.h>
#include <codeb.h>
#include <i4chang.h>
#include <codeb.h>
#include <rectypes.h>
#include <progind.h>
#define MAXLEN 128 /* Lunghezza massima chiave */
@ -579,7 +579,7 @@ HIDDEN void do_key(char *fname, RecDes *r, TAG4INFO *tag_info)
tag_info[i].unique=0;
else
tag_info[i].unique=e4unique;
strcpy(tag_info[i].filter,""); /* Not available for DBIII and CLIPPER */
strcpy(tag_info[i].filter,".NOT. DELETED()"); /* Not available for DBIII and CLIPPER */
strcpy(tag_info[i].name,tiname) ;
if (strlen(tiname) < 8)
strcat(tag_info[i].name," ");
@ -745,11 +745,11 @@ int DB_packindex(short vis, const char * filename, RecDes *r, long *peod)
do_key(ff,r,tags);
if (u4switch() &2 || u4switch() & 8) /* Clipper and DBIII */
{
rt = (int)i4create(dbdata[handle],(char*)filename,tags);
INDEX4 * w = i4create(dbdata[handle],(char*)filename,tags);
#ifndef FOXPRO
progind_set_status((long)r->NKeys);
#endif
if (rt!=0 && code_base.error_code==0)
if (w != NULL && code_base.error_code==0)
{
FILE *fp;
char cgp[81];
@ -768,8 +768,8 @@ int DB_packindex(short vis, const char * filename, RecDes *r, long *peod)
}
if (u4switch() & 1 || u4switch() & 4) /* FOXPRO and DBIV */
{
rt = (int)i4create(dbdata[handle],NULL,tags);
if (rt == 0) rt = code_base.error_code;
INDEX4 * w = i4create(dbdata[handle],NULL,tags);
if (w == NULL) rt = code_base.error_code;
#ifndef FOXPRO
progind_set_status((long)r->NKeys);
#endif