< prev index next >

src/hotspot/share/utilities/ostream.cpp

Print this page
rev 50985 : 8206977: Minor improvements of runtime code.
Reviewed-by: coleenp, lfoltan


 515   if (_file != NULL) {
 516     _need_close = true;
 517   } else {
 518     warning("Cannot open file %s due to %s\n", file_name, os::strerror(errno));
 519     _need_close = false;
 520   }
 521 }
 522 
 523 void fileStream::write(const char* s, size_t len) {
 524   if (_file != NULL)  {
 525     // Make an unused local variable to avoid warning from gcc 4.x compiler.
 526     size_t count = fwrite(s, 1, len, _file);
 527   }
 528   update_position(s, len);
 529 }
 530 
 531 long fileStream::fileSize() {
 532   long size = -1;
 533   if (_file != NULL) {
 534     long pos  = ::ftell(_file);

 535     if (::fseek(_file, 0, SEEK_END) == 0) {
 536       size = ::ftell(_file);
 537     }
 538     ::fseek(_file, pos, SEEK_SET);
 539   }
 540   return size;
 541 }
 542 
 543 char* fileStream::readln(char *data, int count ) {
 544   char * ret = ::fgets(data, count, _file);
 545   //Get rid of annoying \n char
 546   data[::strlen(data)-1] = '\0';
 547   return ret;
 548 }
 549 
 550 fileStream::~fileStream() {
 551   if (_file != NULL) {
 552     if (_need_close) fclose(_file);
 553     _file      = NULL;
 554   }




 515   if (_file != NULL) {
 516     _need_close = true;
 517   } else {
 518     warning("Cannot open file %s due to %s\n", file_name, os::strerror(errno));
 519     _need_close = false;
 520   }
 521 }
 522 
 523 void fileStream::write(const char* s, size_t len) {
 524   if (_file != NULL)  {
 525     // Make an unused local variable to avoid warning from gcc 4.x compiler.
 526     size_t count = fwrite(s, 1, len, _file);
 527   }
 528   update_position(s, len);
 529 }
 530 
 531 long fileStream::fileSize() {
 532   long size = -1;
 533   if (_file != NULL) {
 534     long pos = ::ftell(_file);
 535     if (pos < 0) return pos;
 536     if (::fseek(_file, 0, SEEK_END) == 0) {
 537       size = ::ftell(_file);
 538     }
 539     ::fseek(_file, pos, SEEK_SET);
 540   }
 541   return size;
 542 }
 543 
 544 char* fileStream::readln(char *data, int count ) {
 545   char * ret = ::fgets(data, count, _file);
 546   //Get rid of annoying \n char
 547   data[::strlen(data)-1] = '\0';
 548   return ret;
 549 }
 550 
 551 fileStream::~fileStream() {
 552   if (_file != NULL) {
 553     if (_need_close) fclose(_file);
 554     _file      = NULL;
 555   }


< prev index next >