Correzione alla CBuildKey: se il campo e' pieno di spazi ed e' di

tipo numerico mette uno '0' sul primo byte. Necessario per ricercare le
chiavi sugli indici Codebase.


git-svn-id: svn://10.65.10.50/trunk@1569 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1995-07-06 15:05:23 +00:00
parent 5ec48bfc51
commit bdfd171358

View File

@ -209,14 +209,13 @@ HIDDEN int CBuildKey(RecDes *recd, int numkey, RecType recin, char *key, bool b
key[l + len - 1] = '0';
}
else
if (!build_x_cb && ((f == _intfld) || (f == _longfld) || (f == _wordfld)))
if ((f == _intfld) || (f == _longfld) || (f == _wordfld))
{
int w = l, j = l + len;
while (w < j && key[w] == ' ') w++;
while (w < j && key[w] == '0')
key[w++] = ' ';
}
while (w < j && key[w] == '0') key[w++] = ' ';
if (build_x_cb && (w == j)) key[w-1] = '0';
}
if (upp)
for (int i = l+len-1; i >= l; i--)
key[i] = toupper(key[i]);