/* written by Dr. Oliver Diedrich, c't Magazin 9/2004 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  int c1, c2, c3, c4;

  if (argc > 1)               /* called with argument */
  {
    if ('4' == argv[1][0])    /* argument '4'? */
    {
      while (1)
      {
        c1 = getchar();
        if (c1 == EOF) return 0;
        c2 = getchar();
        if (c2 == EOF) return 0;
        c3 = getchar();
        if (c3 == EOF) return 0;
        c4 = getchar();
        if (c4 == EOF) return 0;

        putchar(c3);
        putchar(c2);
        putchar(c1);
      }
    }
    else
    {
      printf("usage: %s [4] < IN > OUT\n", argv[0]);
      printf("4: 32 bit format (default: 24 bit format)\n");
      return 1;
    }
  } /* (argc > 1) */

  while (1)
  {
    c1 = getchar();
    if (c1 == EOF) return 0;
    c2 = getchar();
    if (c2 == EOF) return 0;
    c3 = getchar();
    if (c3 == EOF) return 0;


    putchar(c3);
    putchar(c2);
    putchar(c1);
  }
} 

