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 #define S4DLL
#endif #endif
#include <d4all.h> #include <d4all.h>
#include <x4filter.h> #include <x4filter.h>
#include <i4chang.h> #include <i4chang.h>
#include <codeb.h> #include <codeb.h>
#include <rectypes.h> #include <rectypes.h>
#include <progind.h> #include <progind.h>
#define MAXLEN 128 /* Lunghezza massima chiave */ #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; tag_info[i].unique=0;
else else
tag_info[i].unique=e4unique; 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) ; strcpy(tag_info[i].name,tiname) ;
if (strlen(tiname) < 8) if (strlen(tiname) < 8)
strcat(tag_info[i].name," "); 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); do_key(ff,r,tags);
if (u4switch() &2 || u4switch() & 8) /* Clipper and DBIII */ 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 #ifndef FOXPRO
progind_set_status((long)r->NKeys); progind_set_status((long)r->NKeys);
#endif #endif
if (rt!=0 && code_base.error_code==0) if (w != NULL && code_base.error_code==0)
{ {
FILE *fp; FILE *fp;
char cgp[81]; 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 */ if (u4switch() & 1 || u4switch() & 4) /* FOXPRO and DBIV */
{ {
rt = (int)i4create(dbdata[handle],NULL,tags); INDEX4 * w = i4create(dbdata[handle],NULL,tags);
if (rt == 0) rt = code_base.error_code; if (w == NULL) rt = code_base.error_code;
#ifndef FOXPRO #ifndef FOXPRO
progind_set_status((long)r->NKeys); progind_set_status((long)r->NKeys);
#endif #endif