diff --git a/xdiff-interface.c b/xdiff-interface.c
index 08602f522183dc43787616f37cba9b8af4e3dade..10816e95a07c23dda7554c102c306d7e9beca606 100644 (file)
--- a/xdiff-interface.c
+++ b/xdiff-interface.c
}
return 0;
}
+
+int read_mmfile(mmfile_t *ptr, const char *filename)
+{
+ struct stat st;
+ FILE *f;
+ size_t sz;
+
+ if (stat(filename, &st))
+ return error("Could not stat %s", filename);
+ if ((f = fopen(filename, "rb")) == NULL)
+ return error("Could not open %s", filename);
+ sz = xsize_t(st.st_size);
+ ptr->ptr = xmalloc(sz);
+ if (fread(ptr->ptr, sz, 1, f) != 1)
+ return error("Could not read %s", filename);
+ fclose(f);
+ ptr->size = sz;
+ return 0;
+}
+
+