-/* $Id: zrpn.c,v 1.137 2004-05-10 08:47:54 adam Exp $
+/* $Id: zrpn.c,v 1.138 2004-05-26 13:52:26 adam Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
Index Data Aps
zh->errString = basenames[base_no];
return -1;
}
- if (use_value == -2) /* string attribute (assume IDXPATH/any) */
+ if (xpath_use > 0 && use_value == -2)
{
use_value = xpath_use;
attp.local_attributes = &id_xpath_attr;
}
else
{
- if ((r=att_getentbyatt (zh, &attp, curAttributeSet, use_value)))
+ if ((r=att_getentbyatt (zh, &attp, curAttributeSet, use_value,
+ use_string)))
{
logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d r=%d",
curAttributeSet, use_value, r);
if (r == -1)
{
/* set was found, but value wasn't defined */
- char val_str[32];
- sprintf (val_str, "%d 1", use_value);
errCode = 114;
- errString = nmem_strdup (stream, val_str);
+ if (use_string)
+ errString = nmem_strdup(stream, use_string);
+ else
+ {
+ char val_str[32];
+ sprintf (val_str, "%d", use_value);
+ errString = nmem_strdup (stream, val_str);
+ }
}
else
{
bases_ok++;
#else
char val_str[32];
- sprintf (val_str, "%d 2", use_value);
+ sprintf (val_str, "%d", use_value);
errCode = 114;
errString = nmem_strdup (stream, val_str);
#endif
}
else
{
- if ((r=att_getentbyatt (zh, &attp, curAttributeSet, use_value)))
+ if ((r=att_getentbyatt (zh, &attp, curAttributeSet, use_value,
+ use_string)))
{
logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d r=%d",
curAttributeSet, use_value, r);
char termz[IT_MAX_WORD+20];
AttrType use;
int use_value;
+ const char *use_string = 0;
struct scan_info *scan_info_array;
ZebraScanEntry *glist;
int ords[32], ord_no = 0;
pos, num, attributeset);
attr_init (&use, zapt, 1);
- use_value = attr_find (&use, &attributeset);
+ use_value = attr_find_ex (&use, &attributeset, &use_string);
if (zebra_maps_attr (zh->reg->zebra_maps, zapt, ®_id, &search_type,
rank_type, &complete_flag, &sort_flag))
attent attp;
data1_local_attribute *local_attr;
- if ((r=att_getentbyatt (zh, &attp, attributeset, use_value)))
+ if ((r=att_getentbyatt (zh, &attp, attributeset, use_value,
+ use_string)))
{
logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d",
attributeset, use_value);