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:
parent
5ec48bfc51
commit
bdfd171358
@ -209,14 +209,13 @@ HIDDEN int CBuildKey(RecDes *recd, int numkey, RecType recin, char *key, bool b
|
|||||||
key[l + len - 1] = '0';
|
key[l + len - 1] = '0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (!build_x_cb && ((f == _intfld) || (f == _longfld) || (f == _wordfld)))
|
if ((f == _intfld) || (f == _longfld) || (f == _wordfld))
|
||||||
{
|
{
|
||||||
int w = l, j = l + len;
|
int w = l, j = l + len;
|
||||||
while (w < j && key[w] == ' ') w++;
|
while (w < j && key[w] == ' ') w++;
|
||||||
while (w < j && key[w] == '0')
|
while (w < j && key[w] == '0') key[w++] = ' ';
|
||||||
key[w++] = ' ';
|
if (build_x_cb && (w == j)) key[w-1] = '0';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (upp)
|
if (upp)
|
||||||
for (int i = l+len-1; i >= l; i--)
|
for (int i = l+len-1; i >= l; i--)
|
||||||
key[i] = toupper(key[i]);
|
key[i] = toupper(key[i]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user