Printing an integer to an LCD

Ok, so now I've got:

char digits[5];

char intToChar(int value) {
  //blank the char values 
  for(int i=0;i<5;i++) {
     digits[i]=' ';
  }
  digits[5] = '\0';
  digits[4]=(char)((value%10)+48);
  value=value/10;
  digits[3]=(char)((value%10)+48);
  value=value/10;
  digits[2]=(char)((value%10)+48);
  value=value/10;
  digits[1]=(char)((value%10)+48);
  value=value/10;
  digits[0]=(char)((value%10)+48);
}

...

lcd.print(intToChar(2));

Seems to be closer! But no matter what number I put in there, it returns 0.

Do I need to put a return in the function?

I'm not sure if the LCD library accepts an array to tell you the truth.