Fix bug that slipped through last big round of changes: sometimes

yp_next_record() is called without a key (from xdr_my_ypresp_all()),
in which case it returns the first key in the map. When doing this,
it also needs to update the key index in the map queue entry. Without
this, ypproc_all_2_svc() (and hence ypcat) don't work correctly.

Noticed by: Michael L. Hench <hench@watt.cae.uwm.edu>
This commit is contained in:
Bill Paul 1997-01-20 03:33:36 +00:00
parent 6e20a16589
commit 559605f1ec
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=21882

View File

@ -600,8 +600,13 @@ int yp_next_record(dbp,key,data,all,allow)
rval = yp_first_record(dbp,key,data,allow);
if (rval == YP_NOKEY)
return(YP_NOMORE);
else
else {
#ifdef DB_CACHE
qhead.cqh_first->dbptr->key = key->data;
qhead.cqh_first->dbptr->size = key->size;
#endif
return(rval);
}
}
if (ypdb_debug)