projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* sbr/discard.c, sbr/m_getfld.c, uip/scansbr.c: Add support for
[mmh]
/
sbr
/
m_getfld.c
diff --git
a/sbr/m_getfld.c
b/sbr/m_getfld.c
index
6c15886
..
c542d52
100644
(file)
--- a/
sbr/m_getfld.c
+++ b/
sbr/m_getfld.c
@@
-266,6
+266,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
bp = sp = (unsigned char *) iob->_IO_read_ptr - 1;
j = (cnt = ((long) iob->_IO_read_end -
(long) iob->_IO_read_ptr) + 1) < i ? cnt : i;
bp = sp = (unsigned char *) iob->_IO_read_ptr - 1;
j = (cnt = ((long) iob->_IO_read_end -
(long) iob->_IO_read_ptr) + 1) < i ? cnt : i;
+#elif defined(__DragonFly__)
+ bp = sp = (unsigned char *) ((struct __FILE_public *)iob)->_p - 1;
+ j = (cnt = ((struct __FILE_public *)iob)->_r+1) < i ? cnt : i;
#else
bp = sp = (unsigned char *) iob->_ptr - 1;
j = (cnt = iob->_cnt+1) < i ? cnt : i;
#else
bp = sp = (unsigned char *) iob->_ptr - 1;
j = (cnt = iob->_cnt+1) < i ? cnt : i;
@@
-278,6
+281,8
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
#ifdef LINUX_STDIO
iob->_IO_read_ptr = iob->_IO_read_end;
if (__underflow(iob) == EOF) {
#ifdef LINUX_STDIO
iob->_IO_read_ptr = iob->_IO_read_end;
if (__underflow(iob) == EOF) {
+#elif defined(__DragonFly__)
+ if (__srget(iob) == EOF) {
#else
if (_filbuf(iob) == EOF) {
#endif
#else
if (_filbuf(iob) == EOF) {
#endif
@@
-291,6
+296,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
} else {
#ifdef LINUX_STDIO
iob->_IO_read_ptr = bp + 1;
} else {
#ifdef LINUX_STDIO
iob->_IO_read_ptr = bp + 1;
+#elif defined(__DragonFly__)
+ ((struct __FILE_public *)iob)->_p = bp + 1;
+ ((struct __FILE_public *)iob)->_r = cnt - 1;
#else
iob->_ptr = bp + 1;
iob->_cnt = cnt - 1;
#else
iob->_ptr = bp + 1;
iob->_cnt = cnt - 1;
@@
-335,6
+343,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
#ifdef LINUX_STDIO
cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr;
bp = (unsigned char *) --iob->_IO_read_ptr;
#ifdef LINUX_STDIO
cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr;
bp = (unsigned char *) --iob->_IO_read_ptr;
+#elif defined(__DragonFly__)
+ cnt = ((struct __FILE_public *)iob)->_r++;
+ bp = (unsigned char *) --((struct __FILE_public *)iob)->_p;
#else
cnt = iob->_cnt++;
bp = (unsigned char *) --iob->_ptr;
#else
cnt = iob->_cnt++;
bp = (unsigned char *) --iob->_ptr;
@@
-349,6
+360,11
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
j = ep - (unsigned char *) iob->_IO_read_ptr;
memcpy (cp, iob->_IO_read_ptr, j);
iob->_IO_read_ptr = ep;
j = ep - (unsigned char *) iob->_IO_read_ptr;
memcpy (cp, iob->_IO_read_ptr, j);
iob->_IO_read_ptr = ep;
+#elif defined(__DragonFly__)
+ j = ep - (unsigned char *) ((struct __FILE_public *)iob)->_p;
+ memcpy (cp, ((struct __FILE_public *)iob)->_p, j);
+ ((struct __FILE_public *)iob)->_p = ep;
+ ((struct __FILE_public *)iob)->_r -= j;
#else
j = ep - (unsigned char *) iob->_ptr;
memcpy (cp, iob->_ptr, j);
#else
j = ep - (unsigned char *) iob->_ptr;
memcpy (cp, iob->_ptr, j);
@@
-368,6
+384,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
#ifdef LINUX_STDIO
c += bp - (unsigned char *) iob->_IO_read_ptr;
memcpy( cp, iob->_IO_read_ptr, c);
#ifdef LINUX_STDIO
c += bp - (unsigned char *) iob->_IO_read_ptr;
memcpy( cp, iob->_IO_read_ptr, c);
+#elif defined(__DragonFly__)
+ c += bp - (unsigned char *) ((struct __FILE_public *)iob)->_p;
+ memcpy( cp, ((struct __FILE_public *)iob)->_p, c);
#else
c += bp - (unsigned char *) iob->_ptr;
memcpy( cp, iob->_ptr, c);
#else
c += bp - (unsigned char *) iob->_ptr;
memcpy( cp, iob->_ptr, c);
@@
-378,6
+397,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
/* the dest buffer is full */
#ifdef LINUX_STDIO
iob->_IO_read_ptr += c;
/* the dest buffer is full */
#ifdef LINUX_STDIO
iob->_IO_read_ptr += c;
+#elif defined(__DragonFly__)
+ ((struct __FILE_public *)iob)->_r -= c;
+ ((struct __FILE_public *)iob)->_p += c;
#else
iob->_cnt -= c;
iob->_ptr += c;
#else
iob->_cnt -= c;
iob->_ptr += c;
@@
-397,6
+419,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
iob->_IO_read_ptr = iob->_IO_read_end;
c = __underflow(iob);
iob->_IO_read_ptr++; /* NOT automatic! */
iob->_IO_read_ptr = iob->_IO_read_end;
c = __underflow(iob);
iob->_IO_read_ptr++; /* NOT automatic! */
+#elif defined(__DragonFly__)
+ *cp++ =j = *(((struct __FILE_public *)iob)->_p + c);
+ c = __srget(iob);
#else
*cp++ = j = *(iob->_ptr + c);
c = _filbuf(iob);
#else
*cp++ = j = *(iob->_ptr + c);
c = _filbuf(iob);
@@
-406,6
+431,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
if (c != EOF) {
#ifdef LINUX_STDIO
--iob->_IO_read_ptr;
if (c != EOF) {
#ifdef LINUX_STDIO
--iob->_IO_read_ptr;
+#elif defined(__DragonFly__)
+ --((struct __FILE_public *)iob)->_p;
+ ++((struct __FILE_public *)iob)->_r;
#else
--iob->_ptr;
++iob->_cnt;
#else
--iob->_ptr;
++iob->_cnt;
@@
-429,6
+457,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
#ifdef LINUX_STDIO
bp = (unsigned char *) --iob->_IO_read_ptr;
cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr;
#ifdef LINUX_STDIO
bp = (unsigned char *) --iob->_IO_read_ptr;
cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr;
+#elif defined(__DragonFly__)
+ bp = (unsigned char *) --((struct __FILE_public *)iob)->_p;
+ cnt = ++((struct __FILE_public *)iob)->_r;
#else
bp = (unsigned char *) --iob->_ptr;
cnt = ++iob->_cnt;
#else
bp = (unsigned char *) --iob->_ptr;
cnt = ++iob->_cnt;
@@
-491,6
+522,9
@@
m_getfld (int state, unsigned char *name, unsigned char *buf,
memcpy( buf, bp, c );
#ifdef LINUX_STDIO
iob->_IO_read_ptr += c;
memcpy( buf, bp, c );
#ifdef LINUX_STDIO
iob->_IO_read_ptr += c;
+#elif defined(__DragonFly__)
+ ((struct __FILE_public *)iob)->_r -= c;
+ ((struct __FILE_public *)iob)->_p += c;
#else
iob->_cnt -= c;
iob->_ptr += c;
#else
iob->_cnt -= c;
iob->_ptr += c;
@@
-700,10
+734,10
@@
get_returnpath (char *rp, int rplen, char *dd, int ddlen)
if (cp) {
/* return path for UUCP style addressing */
dp = strchr (++cp, '\n');
if (cp) {
/* return path for UUCP style addressing */
dp = strchr (++cp, '\n');
- snprintf (rp, rplen, "%.*s!%.*s\n", dp - cp, cp, bp - ap, ap);
+ snprintf (rp, rplen, "%.*s!%.*s\n", (int)(dp - cp), cp, (int)(bp - ap), ap);
} else {
/* return path for standard domain addressing */
} else {
/* return path for standard domain addressing */
- snprintf (rp, rplen, "%.*s\n", bp - ap, ap);
+ snprintf (rp, rplen, "%.*s\n", (int)(bp - ap), ap);
}
/*
}
/*