mirror of
https://github.com/mirror/wget.git
synced 2025-03-20 14:50:29 +08:00
[svn] Use a single version of RBUF_READCHAR.
This commit is contained in:
parent
e754c99b46
commit
47c6092ec4
@ -1,3 +1,10 @@
|
|||||||
|
2000-12-06 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||||
|
|
||||||
|
* rbuf.h: Implement only a single version of RBUF_READCHAR, using
|
||||||
|
rbuf_read_bufferful when the buffer is depleted.
|
||||||
|
|
||||||
|
* rbuf.c (rbuf_read_bufferful): New function.
|
||||||
|
|
||||||
2000-12-06 Hrvoje Niksic <hniksic@arsdigita.com>
|
2000-12-06 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||||
|
|
||||||
* gen_sslfunc.h: Use ansi2knr style function declarations.
|
* gen_sslfunc.h: Use ansi2knr style function declarations.
|
||||||
|
11
src/rbuf.c
11
src/rbuf.c
@ -58,6 +58,17 @@ rbuf_uninitialize (struct rbuf *rbuf)
|
|||||||
rbuf->fd = -1;
|
rbuf->fd = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
rbuf_read_bufferful (struct rbuf *rbuf)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_SSL
|
||||||
|
if (rbuf->ssl)
|
||||||
|
return ssl_iread (rbuf->ssl, rbuf->buffer, sizeof (rbuf->buffer));
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
return iread (rbuf->fd, rbuf->buffer, sizeof (rbuf->buffer));
|
||||||
|
}
|
||||||
|
|
||||||
/* Currently unused -- see RBUF_READCHAR. */
|
/* Currently unused -- see RBUF_READCHAR. */
|
||||||
#if 0
|
#if 0
|
||||||
/* Function version of RBUF_READCHAR. */
|
/* Function version of RBUF_READCHAR. */
|
||||||
|
27
src/rbuf.h
27
src/rbuf.h
@ -49,38 +49,18 @@ struct rbuf
|
|||||||
result of historical implementation of header code. The macro
|
result of historical implementation of header code. The macro
|
||||||
should return the character or EOF, and in case of error store it
|
should return the character or EOF, and in case of error store it
|
||||||
to rbuf->err or something. */
|
to rbuf->err or something. */
|
||||||
#ifdef HAVE_SSL
|
|
||||||
/* SSL version of rbuf. If rbuf.ssl isn't NULL use ssl_iread instead
|
|
||||||
of iread */
|
|
||||||
#define RBUF_READCHAR(rbuf, store) \
|
#define RBUF_READCHAR(rbuf, store) \
|
||||||
((rbuf)->buffer_left \
|
((rbuf)->buffer_left \
|
||||||
? (--(rbuf)->buffer_left, \
|
? (--(rbuf)->buffer_left, \
|
||||||
*((char *) (store)) = *(rbuf)->buffer_pos++, 1) \
|
*((char *) (store)) = *(rbuf)->buffer_pos++, 1) \
|
||||||
: ((rbuf)->buffer_pos = (rbuf)->buffer, \
|
: ((rbuf)->buffer_pos = (rbuf)->buffer, \
|
||||||
((((rbuf)->internal_dont_touch_this \
|
((((rbuf)->internal_dont_touch_this \
|
||||||
= (rbuf->ssl == NULL) ? (iread ((rbuf)->fd, (rbuf)->buffer, \
|
= rbuf_read_bufferful (rbuf)) <= 0) \
|
||||||
sizeof ((rbuf)->buffer))) : (ssl_iread ((rbuf)->ssl, (rbuf)->buffer, \
|
|
||||||
sizeof ((rbuf)->buffer))) ) <= 0) \
|
|
||||||
? (rbuf)->internal_dont_touch_this \
|
? (rbuf)->internal_dont_touch_this \
|
||||||
: ((rbuf)->buffer_left = (rbuf)->internal_dont_touch_this - 1, \
|
: ((rbuf)->buffer_left = (rbuf)->internal_dont_touch_this - 1, \
|
||||||
*((char *) (store)) = *(rbuf)->buffer_pos++, \
|
*((char *) (store)) = *(rbuf)->buffer_pos++, \
|
||||||
1))))
|
1))))
|
||||||
#else
|
|
||||||
#define RBUF_READCHAR(rbuf, store) \
|
|
||||||
((rbuf)->buffer_left \
|
|
||||||
? (--(rbuf)->buffer_left, \
|
|
||||||
*((char *) (store)) = *(rbuf)->buffer_pos++, 1) \
|
|
||||||
: ((rbuf)->buffer_pos = (rbuf)->buffer, \
|
|
||||||
((((rbuf)->internal_dont_touch_this \
|
|
||||||
= iread ((rbuf)->fd, (rbuf)->buffer, \
|
|
||||||
sizeof ((rbuf)->buffer))) <= 0) \
|
|
||||||
? (rbuf)->internal_dont_touch_this \
|
|
||||||
: ((rbuf)->buffer_left = (rbuf)->internal_dont_touch_this - 1, \
|
|
||||||
*((char *) (store)) = *(rbuf)->buffer_pos++, \
|
|
||||||
1))))
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* HAVE_SSL */
|
|
||||||
|
|
||||||
/* Return the file descriptor of RBUF. */
|
/* Return the file descriptor of RBUF. */
|
||||||
#define RBUF_FD(rbuf) ((rbuf)->fd)
|
#define RBUF_FD(rbuf) ((rbuf)->fd)
|
||||||
@ -97,4 +77,7 @@ int rbuf_peek PARAMS ((struct rbuf *, char *));
|
|||||||
int rbuf_flush PARAMS ((struct rbuf *, char *, int));
|
int rbuf_flush PARAMS ((struct rbuf *, char *, int));
|
||||||
void rbuf_discard PARAMS ((struct rbuf *));
|
void rbuf_discard PARAMS ((struct rbuf *));
|
||||||
|
|
||||||
|
/* Internal, but used by the macro. */
|
||||||
|
int rbuf_read_bufferful PARAMS ((struct rbuf *));
|
||||||
|
|
||||||
#endif /* RBUF_H */
|
#endif /* RBUF_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user