/*************************************************************************** lowercaser.c ------------------- begin : Fri Mar 21 01:05:09 CST 2003 copyright : (C) 2003 by Andy Ruder email : aeruder@yahoo.com ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include #include #include #include char lower_case(char x) { return (x >= 'A' && x <= 'Z') ? x - 'A' + 'a' : x; } int main(int argc, char *argv[]) { long int x, y; char *buffer; long int bufferlen = 0; for (x = 1; x < argc; x++) { if (strlen(argv[x]) > bufferlen) { if (bufferlen != 0) { free(buffer); } buffer = malloc(strlen(argv[x]) + 4); } buffer[strlen(argv[x])] = 0; for (y = strlen(argv[x]) - 1; y >= 0 && argv[x][y] != '/'; y--) { buffer[y] = lower_case(argv[x][y]); } for (; y >= 0; y--) { buffer[y] = argv[x][y]; } if (link(argv[x], buffer) != -1) { unlink(argv[x]); } } free(buffer); return 0; }