Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: FIO04 compliance

...

Code Block
bgColor#FFcccc
int copy_file(FILE *src, FILE *dst, size_t bufsize) {
  char buf[bufsize];

  while (fgets(buf, bufsize, src)) {
    if (fputs(buf, dst); == EOF) {
      /* Handle Error */
    }
  }

  return 0;
}

Wiki Markup
The BSD extension function {{alloca()}} behaves in a similar fashion to VLAs; its use is not recommended \[[Loosemore 07|AA. C References#Loosemore 07]\] .

...

Code Block
bgColor#ccccff
int copy_file(FILE *src, FILE *dst, size_t bufsize) {
  if (bufsize == 0) {
    /* Handle Error */
  }
  char *buf = (char *)malloc(bufsize);
  if (!buf) {
    return -1;
  }

  while (fgets(buf, bufsize, src)) {
    if (fputs(buf, dst); == EOF) {
      /* Handle Error */
    }
  }
  /* ... */
  free(buf);
  return 0;
}

...