Skip to content

Instantly share code, notes, and snippets.

@gboncoffee
Last active August 14, 2023 13:04
Show Gist options
  • Save gboncoffee/e8edf53d815a9e208f1797b58500d09f to your computer and use it in GitHub Desktop.
Save gboncoffee/e8edf53d815a9e208f1797b58500d09f to your computer and use it in GitHub Desktop.
UwUfiew algorithm
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*
* uwufiew, weceives inpuwut fwom standawt inpuwut ow fiwes and concatenates a
* uwufiewd vewsion to the standawt ouwutpuwut.
*
* fwee softwawe, wincesed uwundew the MIT wicense, youwu shouwuwd have
* weceived a copy of the wicense awong with the pwogwam.
*
* auwuthow: Gabwiew G. de Bwito <3
* UwU
*/
/*
* Copyright (C) 2023 Gabriel de Brito
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
void uwufy(FILE *ip) {
char c;
while ((c = getc(ip)) != EOF) {
if (c == 'r' || c == 'l')
putchar('w');
else if (c == 'R' || c == 'L')
putchar('W');
else if (c == 'u') {
putchar('u');
putchar('w');
putchar('u');
} else if (c == 'u') {
putchar('U');
putchar('w');
putchar('u');
} else
putchar(c);
}
}
int main(int argc, char *argv[]) {
FILE *ip;
if (argc <= 1) {
uwufy(stdin);
} else {
for (int i = 1; i < argc; i++) {
if (!strcmp(argv[i], "-")) {
ip = stdin;
} else {
ip = fopen(argv[i], "r");
}
if (ip == NULL) {
fprintf(stderr, "Could not read file: %s\n", argv[i]);
exit(1);
}
uwufy(ip);
fclose(ip);
}
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment