Bug #10706 Updated: yp_next does not report the next entry in the map
| From: | lobbin@php.net | Date: | Fri, 11 Jan 2002 22:24:27 +0000 |
| Subject: | Bug #10706 Updated: yp_next does not report the next entry in the map | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-76707@lists.php.net to get a copy of this message | ||
ID: 10706
Updated by: lobbin
Reported By: rabellino@di.unito.it
Old Status: Open
Status: Feedback
Bug Type: YP/NIS related
Operating System: Solaris
PHP Version: 4.0.5
New Comment:
Can you try this with 4.1.1?
Previous Comments:
------------------------------------------------------------------------
[2001-05-07 10:55:22] rabellino@di.unito.it
If I use the Key returned from yp_first or yp_next, on my systems
(Solaris 2.6/2.7/2.8 either sparc/Intel), the yp_next return every time
the same entry.
I've discovered, after some hours of debugging, that php add a CR at
the end of the key, so the keylength is bigger than the real keylength
of 1 char.
Stripping it, php is definitely happy.
I wrote some lines to show that... use them as you think better
Thanks.
<?php
// Code By Rabellino Sergio
// Department of Computer Science of Torino - Italy
// Rabellino@di.unito.it
echo"<PRE>";
$map="passwd.byname";
$domain = yp_get_default_domain();
echo "Map ".$map." for domain: " . $domain." is \n";
// Get the first entry from YP
$entry = yp_first($domain, $map);
// Extract key and value
$key = $entry ["key"];
$value = $entry ["value"];
// Print key and value
echo $key;
echo $value;
// Remove the CR at the end of the key ... (? Solaris requirement only
?)
$key=substr($key,0,strlen($key)-1);
// the start the cycle to get the others values
while( is_array($entry = yp_next ($domain, "passwd.byname", $key)) )
{
// Extract the value
$keyn = key ($entry);
// Print key and value
echo $keyn;
echo $entry[$keyn];
// Remove the CR at the end of the key ... (? Solaris requirement
only ?)
$key=substr($keyn,0,strlen($keyn)-1);
}
echo"</PRE>";
?>
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=10706&edit=1