Fixed bugs related to returning NULL if length is zero.

This commit is contained in:
David Greenman 1994-11-25 04:11:19 +00:00
parent 293df9d65a
commit 40598ff428

View File

@ -27,11 +27,11 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: memchr.S,v 1.1 1994/08/05 01:18:28 wollman Exp $
* $Id: memchr.S,v 1.2 1994/10/27 11:36:11 bde Exp $
*/
#if defined(LIBC_RCS) && !defined(lint)
.asciz "$Id: memchr.S,v 1.1 1994/08/05 01:18:28 wollman Exp $"
.asciz "$Id: memchr.S,v 1.2 1994/10/27 11:36:11 bde Exp $"
#endif /* LIBC_RCS and not lint */
#include "DEFS.h"
@ -49,7 +49,8 @@ ENTRY(memchr)
movl 8(%esp),%edi /* string address */
movl 12(%esp),%eax /* set character to search for */
movl 16(%esp),%ecx /* set length of search */
testl %edi,%edi /* clear Z flag, for len == 0 */
testl %ecx,%ecx /* return NULL if len == 0 */
jz L1
cld /* set search forward */
repne /* search! */
scasb