Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
int write_data(char *data, size_t data_size) {
    
  FILE * fptr;
  size_t written;

  fptr = fopen("DataFile.txt", "a");

  if (fptr == NULL) {
    /* Handle fopen() error */ 
  }
  
  written = fwrite(data, sizeof(char), data_size, fptr); 
  if (written < data_size) {
    return -1;
  }
  
  fclose(fptr);
  return 0;
}

...

To correct this example, the code is modified to ensure the file DataFile.txt is always closed.

Code Block
int write_data(char *data, size_t data_size) {
    
  FILE * fptr;
  size_t written;
  int result = 0; 

  fptr = fopen("DataFile.txt", "a");

  if (fptr == NULL) {
    /* Handle fopen() error */ 
  }
  
  written = fwrite(data, sizeof(char), data_size, fptr); 
  if (written < data_size) {
    result = -1;
  }
  
  fclose(fptr);
  return result;
}

...