It's a stack calculator for the unwise. Public Domain.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Это архивный репозиторий. Вы можете его клонировать или просматривать файлы, но не вносить изменения или открывать задачи/запросы на слияние.

27 строки
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. }