summaryrefslogtreecommitdiff
path: root/newlib/libc/ctype/toupper.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-12-15 09:38:53 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-12-15 09:39:34 -0500
commitf95a4a932476be2ba99e2fd081e8d2bc6ea12813 (patch)
tree75f67192cb2d7b7b575c94edda318e475239b63c /newlib/libc/ctype/toupper.c
parentf60aca96985e68c7d8a52eb7bc955fb80e132f73 (diff)
Import newlib and create makefile
Diffstat (limited to 'newlib/libc/ctype/toupper.c')
-rw-r--r--newlib/libc/ctype/toupper.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/newlib/libc/ctype/toupper.c b/newlib/libc/ctype/toupper.c
new file mode 100644
index 0000000..7977beb
--- /dev/null
+++ b/newlib/libc/ctype/toupper.c
@@ -0,0 +1,54 @@
+/*
+FUNCTION
+ <<toupper>>---translate characters to upper case
+
+INDEX
+ toupper
+INDEX
+ _toupper
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int toupper(int <[c]>);
+ int _toupper(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int toupper(<[c]>);
+ int _toupper(<[c]>);
+
+
+DESCRIPTION
+<<toupper>> is a macro which converts lower-case characters to upper
+case, leaving all other characters unchanged. It is only defined when
+<[c]> is an integer in the range <<EOF>> to <<255>>.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining this macro using `<<#undef toupper>>'.
+
+<<_toupper>> performs the same conversion as <<toupper>>, but should
+only be used when <[c]> is known to be a lowercase character (<<a>>--<<z>>).
+
+RETURNS
+<<toupper>> returns the upper-case equivalent of <[c]> when it is a
+character between <<a>> and <<z>>, and <[c]> otherwise.
+
+<<_toupper>> returns the upper-case equivalent of <[c]> when it is a
+character between <<a>> and <<z>>. If <[c]> is not one of these
+characters, the behaviour of <<_toupper>> is undefined.
+
+PORTABILITY
+<<toupper>> is ANSI C. <<_toupper>> is not recommended for portable programs.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef toupper
+int
+_DEFUN(toupper,(c),int c)
+{
+ return islower(c) ? c - 'a' + 'A' : c;
+}