void printc(char val);
void prints(short val);
void printi(int val);
void printl(long val);

void function(char *c, short *s, int *i, long *l)
{
  printc(*c);
  prints(*s);
  printi(*i);
  printl(*l);
}

void function2(unsigned char *c, unsigned short *s, unsigned int *i, unsigned long *l)
{
  printc(*c);
  prints(*s);
  printi(*i);
  printl(*l);
}

int main()
{
  char c;
  short s;
  int i;
  long l;
  unsigned char uc;
  unsigned short us;
  unsigned int ui;
  unsigned long ul;

  c = 1;
  s = 2;
  i = 3;
  l = 4;
  function(&c, &s, &i, &l);

  c = -1;
  s = -2;
  i = -3;
  l = -4;
  function(&c, &s, &i, &l);

  uc = 1;
  us = 2;
  ui = 3;
  ul = 4;
  function2(&uc, &us, &ui, &ul);

  uc = -1;
  us = -2;
  ui = -3;
  ul = -4;
  function2(&uc, &us, &ui, &ul);

  return 0;
}
