comparison src/editfns.c @ 18315:3090657a944b

(Fchar_before): Validate N after decrementing. Don't use POS as integer.
author Richard M. Stallman <rms@gnu.org>
date Wed, 18 Jun 1997 16:46:05 +0000
parents 9c4fb902b6eb
children 92e9fb8b88f4
comparison
equal deleted inserted replaced
18314:6e13dd3d1e11 18315:3090657a944b
606 else 606 else
607 { 607 {
608 CHECK_NUMBER_COERCE_MARKER (pos, 0); 608 CHECK_NUMBER_COERCE_MARKER (pos, 0);
609 609
610 n = XINT (pos); 610 n = XINT (pos);
611 }
612
613 if (!NILP (current_buffer->enable_multibyte_characters))
614 {
615 DEC_POS (n);
611 if (n < BEGV || n >= ZV) 616 if (n < BEGV || n >= ZV)
612 return Qnil; 617 return Qnil;
613 } 618 XSETFASTINT (val, FETCH_CHAR (n));
614 619 }
615 if (!NILP (current_buffer->enable_multibyte_characters)) 620 else
616 { 621 {
617 DEC_POS (pos); 622 n--;
618 XSETFASTINT (val, FETCH_CHAR (pos)); 623 if (n < BEGV || n >= ZV)
619 } 624 return Qnil;
620 else 625 XSETFASTINT (val, FETCH_BYTE (n));
621 {
622 pos--;
623 XSETFASTINT (val, FETCH_BYTE (pos));
624 } 626 }
625 return val; 627 return val;
626 } 628 }
627 629
628 DEFUN ("user-login-name", Fuser_login_name, Suser_login_name, 0, 1, 0, 630 DEFUN ("user-login-name", Fuser_login_name, Suser_login_name, 0, 1, 0,