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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user