PL_strcat(string, ",");
string += ",";
nsPluginStreamInfo::MakeByteRangeString(nsByteRange* aRangeList, char** rangeRequest, PRInt32 *numRequests){  *rangeRequest = nsnull;  *numRequests  = 0;  //the string should look like this: bytes=500-700,601-999  if(!aRangeList)    return;  PRInt32 requestCnt = 0;  // XXX needs to be smarter than that  char * string = new char[1024];  string[0] = '\0';  PL_strcat(string, "bytes=");  for(nsByteRange * range = aRangeList; range != nsnull; range = range->next)  {    // XXX zero length?    if(!range->length)      continue;    // XXX needs to be fixed for negative offsets    nsCString firstbyte; firstbyte.AppendInt(range->offset);    nsCString lastbyte; lastbyte.AppendInt(range->offset + range->length - 1);    PL_strcat(string, firstbyte.get());    PL_strcat(string, "-");    PL_strcat(string, lastbyte.get());    if(range->next)      PL_strcat(string, ",");        requestCnt++;  }  // get rid of possible tailing comma  PRInt32 len = PL_strlen(string);  if(string[len - 1] == ',')    string[len - 1] = '\0';  *rangeRequest = string;  *numRequests  = requestCnt;  return;}