projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
This is mmh-0.3
[mmh]
/
sbr
/
fmt_new.c
diff --git
a/sbr/fmt_new.c
b/sbr/fmt_new.c
index
9fd34c8
..
c1386d4
100644
(file)
--- a/
sbr/fmt_new.c
+++ b/
sbr/fmt_new.c
@@
-8,6
+8,9
@@
#include <h/mh.h>
#include <h/utils.h>
#include <h/mh.h>
#include <h/utils.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sysexits.h>
static char *formats = NULL;
static char *formats = NULL;
@@
-24,42
+27,42
@@
char *
new_fs(char *form, char *def_form)
{
struct stat st;
new_fs(char *form, char *def_form)
{
struct stat st;
- register FILE *fp;
+ FILE *fp;
if (formats) {
if (formats) {
- free(formats);
+ mh_free0(&formats);
}
if (form) {
if (*form == '=') {
}
if (form) {
if (*form == '=') {
- formats = getcpy(form+1);
+ formats = mh_xstrdup(form+1);
} else {
if ((fp = fopen(etcpath(form), "r")) == NULL) {
} else {
if ((fp = fopen(etcpath(form), "r")) == NULL) {
- adios(form, "unable to open format file");
+ adios(EX_IOERR, form, "unable to open format file");
}
if (fstat(fileno(fp), &st) == -1) {
}
if (fstat(fileno(fp), &st) == -1) {
- adios(form, "unable to stat format file");
+ adios(EX_IOERR, form, "unable to stat format file");
}
}
- formats = mh_xmalloc((size_t) st.st_size + 1);
+ formats = mh_xcalloc(st.st_size + 1, sizeof(char));
if (read(fileno(fp), formats, (int)st.st_size) != st.st_size) {
if (read(fileno(fp), formats, (int)st.st_size) != st.st_size) {
- adios(form, "error reading format file");
+ adios(EX_IOERR, form, "error reading format file");
}
formats[st.st_size] = '\0';
fclose(fp);
}
} else if (def_form) {
if (*def_form == '=') {
}
formats[st.st_size] = '\0';
fclose(fp);
}
} else if (def_form) {
if (*def_form == '=') {
- formats = getcpy(def_form+1);
+ formats = mh_xstrdup(def_form+1);
} else {
if ((fp = fopen(etcpath(def_form), "r")) == NULL) {
} else {
if ((fp = fopen(etcpath(def_form), "r")) == NULL) {
- adios(def_form, "unable to open format file");
+ adios(EX_IOERR, def_form, "unable to open format file");
}
if (fstat(fileno(fp), &st) == -1) {
}
if (fstat(fileno(fp), &st) == -1) {
- adios(def_form, "unable to stat format file");
+ adios(EX_IOERR, def_form, "unable to stat format file");
}
}
- formats = mh_xmalloc((size_t) st.st_size + 1);
+ formats = mh_xcalloc(st.st_size + 1, sizeof(char));
if (read(fileno(fp), formats, (int)st.st_size) != st.st_size) {
if (read(fileno(fp), formats, (int)st.st_size) != st.st_size) {
- adios(def_form, "error reading format file");
+ adios(EX_IOERR, def_form, "error reading format file");
}
formats[st.st_size] = '\0';
fclose(fp);
}
formats[st.st_size] = '\0';
fclose(fp);