All pastes #739310 Raw Edit

Something

public text v1 · immutable
·published 2007-10-17 01:10 UTC
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));
}