rendered paste body#include "header.h"
char convertChar(char ch)
{
if(isupper(ch) != 0)
{
ch = tolower(ch);
}
else
{
ch = toupper(ch);
}
return ch;
}
void sig_term_handler(int sig_num)
{
fprintf(stderr, "convert has been killed\n");
exit(1);
}
void sig_pipe_handler(int sig_num)
{
fprintf(stderr, "convert's pipe has been broken\n");
exit(2);
}
int main(int argc, char *argv[])
{
struct args these_args;
char buffer[BUFSIZE];
int i;
int fd_in;
int fd_out;
signal(SIGTERM, sig_term_handler);
signal(SIGPIPE, sig_pipe_handler);
sleep(5);
these_args = parse_input(argc, argv);
fd_in = these_args.input_fd;
fd_out = these_args.output_fd;
if(fd_in != 0)
{
close(INPUT);
dup(fd_in);
}
if(fd_out != 1)
{
close(OUTPUT);
dup(fd_out);
}
read(INPUT, buffer, BUFSIZE);
/* scanf("%s", buffer); */
for(i = 0; i < strlen(buffer); i++)
{
buffer[i] = convertChar(buffer[i]);
}
/* buffer[charCount] = 0x00; null terminating */
/* printf("%s", buffer); */
write(OUTPUT, buffer, strlen(buffer));
}