It's a stack calculator for the unwise. Public Domain.
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
Este repositorio está archivado. Puede ver los archivos y clonarlo, pero no puede subir cambios o reportar incidencias ni pedir Pull Requests.

27 líneas
477B

  1. static inline size_t
  2. frem(FILE * fp)
  3. {
  4. fseek(fp, 0, SEEK_END);
  5. return ftell(fp);
  6. }
  7. static char *
  8. slurp(const char * fn, size_t * rlen)
  9. {
  10. size_t len;
  11. FILE * fp = fopen(fn, "r");
  12. char * buf;
  13. if (!fp)
  14. { PERROR_RETURN("fopen", NULL); }
  15. if (!(buf = (char *) malloc((len = frem(fp)))))
  16. { PERROR_RETURN("malloc", NULL); }
  17. rewind(fp);
  18. if (len != fread(buf, 1, len, fp))
  19. {
  20. free(buf);
  21. { PERROR_RETURN("fopen", NULL); }
  22. }
  23. *rlen = len;
  24. return buf;
  25. }