Converting a "string" to a "String"

I'm trying to convert an array of char received through the serial port via readBytes(). However, the code below does'nt seem to work, any ideas?

String mystring;

void setup()
{
   mystring.reserve(128)

....

readBytesToString(mystring)
Serial.print(mystring)
}

...

void readBytesToString(String stringvar)
{
  char temp[128];
  char i;
  Serial1.setTimeout(100);
  while (Serial1.available() == 0) continue;
  Serial1.readBytes(temp, 128);
  for (i=0; i < sizeof(temp); i++)
  {
    Serial.print(i);
    stringvar += i;
  }
}
  for (i=0; i < sizeof(temp); i++)
  {
    Serial.print(i);
    stringvar += i;
  }

Why are you appending your loop variable to your String?

General advice regarding Strings is to avoid them and use arrays of char instead - Strings have an issue with dynamic memory allocation and have a tendency to crash your sketch eventually.

void readBytesToString(String stringvar)
{
  char temp[128];
  char i;
  Serial1.setTimeout(100);
  while (Serial1.available() == 0) continue;
  Serial1.readBytes(temp, 128);
  for (i=0; i < sizeof(temp); i++)
  {
    Serial.print(i);
    stringvar += i;
  }
}

The variable stringvar is an input to the function. When the function ends, and changes made to the variable are list. If you want those changes persisted, you need to pass the variable by reference. The default is to pass by value.

void readBytesToString(String &stringvar)
{
   // Changes made to stringvar will now be persisted when the function ends.
}

However, ditching the String class altogether is a much better idea, as others have recommended.