651
652 va_start(ap, oflag);
653 mode = va_arg(ap, mode_t);
654 va_end(ap);
655 return (__openat(fd, path, oflag, mode));
656 }
657
658 ssize_t
659 read(int fd, void *buf, size_t size)
660 {
661 extern ssize_t __read(int, void *, size_t);
662 return (__read(fd, buf, size));
663 }
664
665 ssize_t
666 write(int fd, const void *buf, size_t size)
667 {
668 extern ssize_t __write(int, const void *, size_t);
669 return (__write(fd, buf, size));
670 }
|
651
652 va_start(ap, oflag);
653 mode = va_arg(ap, mode_t);
654 va_end(ap);
655 return (__openat(fd, path, oflag, mode));
656 }
657
658 ssize_t
659 read(int fd, void *buf, size_t size)
660 {
661 extern ssize_t __read(int, void *, size_t);
662 return (__read(fd, buf, size));
663 }
664
665 ssize_t
666 write(int fd, const void *buf, size_t size)
667 {
668 extern ssize_t __write(int, const void *, size_t);
669 return (__write(fd, buf, size));
670 }
671
672 /*
673 * ASCII versions of ctype character classification functions. This avoids
674 * pulling in the entire locale framework that is in libc.
675 */
676
677 int
678 isdigit(int c)
679 {
680 return ((c >= '0' && c <= '9') ? 1 : 0);
681 }
682
683 int
684 isupper(int c)
685 {
686 return ((c >= 'A' && c <= 'Z') ? 1 : 0);
687 }
688
689 int
690 islower(int c)
691 {
692 return ((c >= 'a' && c <= 'z') ? 1 : 0);
693 }
694
695 int
696 isspace(int c)
697 {
698 return (((c == ' ') || (c == '\t') || (c == '\r') || (c == '\n') ||
699 (c == '\v') || (c == '\f')) ? 1 : 0);
700 }
701
702 int
703 isxdigit(int c)
704 {
705 return ((isdigit(c) || (c >= 'A' && c <= 'F') ||
706 (c >= 'a' && c <= 'f')) ? 1 : 0);
707 }
708
709 int
710 isalpha(int c)
711 {
712 return ((isupper(c) || islower(c)) ? 1 : 0);
713 }
714
715 int
716 isalnum(int c)
717 {
718 return ((isalpha(c) || isdigit(c)) ? 1 : 0);
719 }
|