uppercase(1)
This commit is contained in:
parent
3fdf5b06cd
commit
0194362686
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,6 +1,12 @@
|
||||
dist/
|
||||
echo/echo
|
||||
lowercase/lowercase
|
||||
lowercase/uppercase
|
||||
nonzero/nonzero
|
||||
roll/roll
|
||||
rot13/rot13
|
||||
simexec/simexec
|
||||
str/str
|
||||
streq/streq
|
||||
sysexits/sysexits
|
||||
sysexits/sysexits.h
|
||||
|
22
dist/Makefile
vendored
22
dist/Makefile
vendored
@ -1,5 +1,6 @@
|
||||
.PHONY: dirs
|
||||
dirs: bin share/man/man1
|
||||
|
||||
bin:
|
||||
mkdir -p bin
|
||||
share/man/man1:
|
||||
@ -38,6 +39,20 @@ bin/nonzero: bin ../nonzero/nonzero
|
||||
../nonzero/nonzero:
|
||||
$(MAKE) -C ../nonzero sane
|
||||
|
||||
.PHONY: simexec
|
||||
simexec: bin/simexec
|
||||
bin/simexec: bin ../simexec/simexec
|
||||
cp ../simexec/simexec bin/simexec
|
||||
../simexec/simexec:
|
||||
$(MAKE) -C ../simexec sane
|
||||
|
||||
.PHONY: sleep
|
||||
sleep: bin/sleep
|
||||
bin/sleep: bin ../sleep/sleep
|
||||
cp ../sleep/sleep bin/sleep
|
||||
../sleep/sleep:
|
||||
$(MAKE) -C ../sleep sane
|
||||
|
||||
.PHONY: str
|
||||
str: bin/str
|
||||
bin/str: bin ../str/str
|
||||
@ -52,7 +67,12 @@ bin/streq: bin ../streq/streq
|
||||
../streq/streq:
|
||||
$(MAKE) -C ../streq sane
|
||||
|
||||
.PHONY: uppercase
|
||||
uppercase: bin/uppercase ../lowercase/lowercase
|
||||
bin/uppercase: bin ../lowercase/uppercase
|
||||
cp ../lowercase/uppercase bin/
|
||||
|
||||
.PHONY: volume
|
||||
volume: bin/volume
|
||||
volume: bin/volume str
|
||||
bin/volume: bin ../volume/volume
|
||||
cp ../volume/volume* bin/
|
||||
|
@ -1,9 +1,12 @@
|
||||
all: lowercase
|
||||
all: lowercase uppercase
|
||||
clean:
|
||||
rm -f lowercase
|
||||
sane: lowercase
|
||||
rm -f lowercase uppercase
|
||||
sane: all
|
||||
|
||||
lowercase: ../ascii/ascii.h lowercase.c
|
||||
$(CC) -I../ascii/ -o lowercase lowercase.c
|
||||
lowercase: lowercase.c
|
||||
$(CC) -DLOWERCASE -o lowercase lowercase.c
|
||||
|
||||
uppercase: lowercase.c
|
||||
$(CC) -DUPPERCASE -o uppercase lowercase.c
|
||||
|
||||
.PHONY: all clean sane
|
||||
|
@ -1,4 +1,3 @@
|
||||
#include <ascii.h> /* ASCII_MAX_VALUE */
|
||||
#include <stdio.h> /* fprintf(3), getc(3), putc(3), stderr, stdin, stdout */
|
||||
#include <stdlib.h> /* exit(3) */
|
||||
#include <sysexits.h> /* EX_OK, EX_USAGE, EX_SOFTWARE */
|
||||
@ -6,13 +5,16 @@
|
||||
|
||||
/* Enable Unicode support using official Unicode library. */
|
||||
#ifdef USE_ICU
|
||||
# include <unicode/uchar.h> /* UCHAR_MAX_VALUE, u_tolower(3) */
|
||||
# include <unicode/uchar.h>
|
||||
/* UCHAR_MAX_VALUE, u_tolower(3), u_toupper(3) */
|
||||
# include <unicode/umachine.h> /* UChar32 */
|
||||
# include <unicode/ustdio.h> /* u_fgetc(3) */
|
||||
#else
|
||||
# include <ctype.h> /* tolower(3) */
|
||||
# include <ctype.h> /* tolower(3), toupper(3) */
|
||||
#endif /* USE_ICU */
|
||||
|
||||
#define ASCII_MAX_VALUE 0x7F
|
||||
|
||||
int main(int argc, char *argv[]){
|
||||
#ifdef USE_ICU
|
||||
UChar32
|
||||
@ -30,14 +32,22 @@ int main(int argc, char *argv[]){
|
||||
#ifdef USE_ICU
|
||||
while((c = u_fgetc(stdin)) != U_EOF){
|
||||
if(c <= UCHAR_MAX_VALUE && c >= 0)
|
||||
# ifdef LOWERCASE
|
||||
c = u_tolower(c);
|
||||
# else
|
||||
c = u_toupper(c);
|
||||
# endif /* ifdef LOWERCASE */
|
||||
u_fputc(c, stdout);
|
||||
#else
|
||||
while((c = getc(stdin)) != EOF){
|
||||
if(c <= ASCII_MAX_VALUE && c >= 0)
|
||||
# ifdef LOWERCASE
|
||||
c = tolower(c);
|
||||
# else
|
||||
c = toupper(c);
|
||||
# endif /* ifdef LOWERCASE */
|
||||
putc(c, stdout);
|
||||
#endif
|
||||
#endif /* ifdef USE_ICU */
|
||||
}
|
||||
return EX_OK;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user