Patch level :10.0 nuovo CD
Files correlati : Ricompilazione Demo : [ ] Commento :sistemato problema conversione con file aventi nomi lunghi (chiave con nome lungo di conseguenza e scrittura dei gen sputtanata) git-svn-id: svn://10.65.10.50/trunk@17563 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
fecd62abff
commit
7d477f0e05
@ -488,18 +488,17 @@ HIDDEN void do_key(const char *fname, RecDes *r, TAG4INFO *tag_info, int n_keys)
|
|||||||
xvt_str_make_upper(tiname);
|
xvt_str_make_upper(tiname);
|
||||||
for (i=0; ((i < MaxKeys) && (i < n_keys)); i++)
|
for (i=0; ((i < MaxKeys) && (i < n_keys)); i++)
|
||||||
{
|
{
|
||||||
tag_info[i].name=(char *)u4alloc(9);
|
tag_info[i].name=(char *)u4alloc(_MAX_FNAME);
|
||||||
tag_info[i].expression=(char *)u4alloc(256);
|
tag_info[i].expression=(char *)u4alloc(256);
|
||||||
tag_info[i].filter=(char*)u4alloc(20);
|
tag_info[i].filter=(char*)u4alloc(32);
|
||||||
tag_info[i].descending=0;
|
tag_info[i].descending=0;
|
||||||
if (r->Ky[i].DupKeys)
|
if (r->Ky[i].DupKeys)
|
||||||
tag_info[i].unique=0;
|
tag_info[i].unique=0;
|
||||||
else
|
else
|
||||||
tag_info[i].unique= i == 0 ? e4unique : r4unique_continue;
|
tag_info[i].unique= i == 0 ? e4unique : r4unique_continue;
|
||||||
strcpy((char *)tag_info[i].filter,".NOT. DELETED()"); /* Not available for DBIII and CLIPPER */
|
strcpy((char *)tag_info[i].filter,".NOT. DELETED()"); /* Not available for DBIII and CLIPPER */
|
||||||
strcpy((char *)tag_info[i].name,tiname) ;
|
strcpy((char *)tag_info[i].name,tiname) ;
|
||||||
if (strlen(tiname) < 8)
|
strcat((char *)tag_info[i].name," ");
|
||||||
strcat((char *)tag_info[i].name," ");
|
|
||||||
tag_info[i].name[strlen(tag_info[i].name)-1] = '0' + i + 1;
|
tag_info[i].name[strlen(tag_info[i].name)-1] = '0' + i + 1;
|
||||||
for (j=0; j < r->Ky[i].NkFields; j++)
|
for (j=0; j < r->Ky[i].NkFields; j++)
|
||||||
{
|
{
|
||||||
@ -544,8 +543,8 @@ HIDDEN void do_key(const char *fname, RecDes *r, TAG4INFO *tag_info, int n_keys)
|
|||||||
case _longzerofld:
|
case _longzerofld:
|
||||||
{
|
{
|
||||||
char ts[8];
|
char ts[8];
|
||||||
strcat((char *)tag_info[i].expression,",");
|
|
||||||
sprintf(ts,"%d",r->Fd[nf].Len);
|
sprintf(ts,"%d",r->Fd[nf].Len);
|
||||||
|
strcat((char *)tag_info[i].expression,",");
|
||||||
strcat((char *)tag_info[i].expression,ts);
|
strcat((char *)tag_info[i].expression,ts);
|
||||||
strcat((char *)tag_info[i].expression,",0)");
|
strcat((char *)tag_info[i].expression,",0)");
|
||||||
}
|
}
|
||||||
@ -805,14 +804,16 @@ int DB_build(const char * filename, RecDes *r)
|
|||||||
|
|
||||||
FIELD4INFO field_info[MaxFields+1]; /* Numero di campi in un record */
|
FIELD4INFO field_info[MaxFields+1]; /* Numero di campi in un record */
|
||||||
TAG4INFO tag_info[MaxKeys+1]; /* Numero di chiavi in un file */
|
TAG4INFO tag_info[MaxKeys+1]; /* Numero di chiavi in un file */
|
||||||
DATA4 *dbuilded;
|
DATA4 *dbuilded = NULL;
|
||||||
int rt=0,i;
|
int rt=0,i;
|
||||||
const char *ff = find_slash_backslash(filename);
|
const char *ff = find_slash_backslash(filename);
|
||||||
|
|
||||||
|
memset(field_info, 0, sizeof(field_info));
|
||||||
|
memset(tag_info, 0, sizeof(tag_info));
|
||||||
|
|
||||||
for (i=0; ((i<r->NFields) && (i<MaxFields)); i++) /* Construct field_info */
|
for (i=0; ((i<r->NFields) && (i<MaxFields)); i++) /* Construct field_info */
|
||||||
{
|
{
|
||||||
field_info[i].name = (char*)u4alloc(12);
|
field_info[i].name = (char*)u4alloc(16); // In realtà basterebbero 12
|
||||||
strcpy(field_info[i].name,r->Fd[i].Name);
|
strcpy(field_info[i].name,r->Fd[i].Name);
|
||||||
field_info[i].len = r->Fd[i].Len;
|
field_info[i].len = r->Fd[i].Len;
|
||||||
field_info[i].dec = r->Fd[i].Dec;
|
field_info[i].dec = r->Fd[i].Dec;
|
||||||
@ -858,7 +859,9 @@ int DB_build(const char * filename, RecDes *r)
|
|||||||
rt=code_base.errorCode;
|
rt=code_base.errorCode;
|
||||||
else
|
else
|
||||||
rt=d4close(dbuilded);
|
rt=d4close(dbuilded);
|
||||||
if (u4switch() & 2 || u4switch() & 8) /* Rebuild filename.cgp for CLIPPER AND DBIII only */
|
|
||||||
|
/* Non abbiamo mai usato e spariamo mai useremo questo genere di files!!!!
|
||||||
|
if (u4switch() & 2 || u4switch() & 8) //Rebuild filename.cgp for CLIPPER AND DBIII only
|
||||||
{
|
{
|
||||||
FILE* fp;
|
FILE* fp;
|
||||||
char xx[81];
|
char xx[81];
|
||||||
@ -872,7 +875,7 @@ int DB_build(const char * filename, RecDes *r)
|
|||||||
fprintf(fp,"%s\n",tag_info[j].name);
|
fprintf(fp,"%s\n",tag_info[j].name);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
if (rt!=0)
|
if (rt!=0)
|
||||||
rt=code_base.errorCode;
|
rt=code_base.errorCode;
|
||||||
for (i=0; ((i < MaxFields) && (i < r->NFields)); i++)
|
for (i=0; ((i < MaxFields) && (i < r->NFields)); i++)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user