#endif
#endif
+/* Type for third parameter of read(2) */
+#if defined(BSD) || defined(ULTRIX)
+typedef int readLenType;
+#else /* e.g. SYSV, __TURBOC__ */
+typedef unsigned readLenType;
+#endif
+
#ifndef TRUE /* defined in some systems' native include files */
#define TRUE ((boolean) 1)
#define FALSE ((boolean) 0)
int
validate(NHFILE* nhfp, const char *name)
{
- int rlen = 0;
+ readLenType rlen = 0;
struct savefile_info sfi;
unsigned long utdflags = 0L;
boolean verbose = name ? TRUE : FALSE, reslt = FALSE;
if ((nhfp->mode & WRITING) == 0) {
if (nhfp->structlevel)
- rlen = read(nhfp->fd, (genericptr_t) &sfi, sizeof sfi);
+ rlen = (readLenType) read(nhfp->fd, (genericptr_t) &sfi, sizeof sfi);
} else {
if (nhfp->structlevel)
- rlen = read(nhfp->fd, (genericptr_t) &sfi, sizeof sfi);
+ rlen = (readLenType) read(nhfp->fd, (genericptr_t) &sfi, sizeof sfi);
minit(); /* ZEROCOMP */
if (rlen == 0) {
if (verbose) {
void
mread(int fd, genericptr_t buf, unsigned len)
{
- int rlen;
#if defined(BSD) || defined(ULTRIX)
#define readLenType int
#else /* e.g. SYSV, __TURBOC__ */
#define readLenType unsigned
#endif
-
- rlen = read(fd, buf, (readLenType) len);
+ readLenType rlen;
+ /* Not perfect, but we don't have ssize_t available. */
+ rlen = (readLenType) read(fd, buf, (readLenType) len);
if ((readLenType) rlen != (readLenType) len) {
if (restoreinfo.mread_flags == 1) { /* means "return anyway" */
restoreinfo.mread_flags = -1;