mirror of
https://github.com/curl/curl.git
synced 2026-08-02 09:50:33 +03:00
source cleanup: remove all custom typedef structs
- Stick to a single unified way to use structs
- Make checksrc complain on 'typedef struct {'
- Allow them in tests, public headers and examples
- Let MD4_CTX, MD5_CTX, and SHA256_CTX typedefs remain as they actually
typedef different types/structs depending on build conditions.
Closes #5338
This commit is contained in:
parent
5d54b5e697
commit
8df455479f
71 changed files with 718 additions and 672 deletions
|
|
@ -5,7 +5,7 @@
|
|||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
|
|
@ -81,11 +81,11 @@ typedef enum {
|
|||
} zlibInitState;
|
||||
|
||||
/* Writer parameters. */
|
||||
typedef struct {
|
||||
struct zlib_params {
|
||||
zlibInitState zlib_init; /* zlib init state */
|
||||
uInt trailerlen; /* Remaining trailer byte count. */
|
||||
z_stream z; /* State structure for zlib. */
|
||||
} zlib_params;
|
||||
};
|
||||
|
||||
|
||||
static voidpf
|
||||
|
|
@ -133,7 +133,8 @@ exit_zlib(struct connectdata *conn,
|
|||
return result;
|
||||
}
|
||||
|
||||
static CURLcode process_trailer(struct connectdata *conn, zlib_params *zp)
|
||||
static CURLcode process_trailer(struct connectdata *conn,
|
||||
struct zlib_params *zp)
|
||||
{
|
||||
z_stream *z = &zp->z;
|
||||
CURLcode result = CURLE_OK;
|
||||
|
|
@ -157,9 +158,10 @@ static CURLcode process_trailer(struct connectdata *conn, zlib_params *zp)
|
|||
}
|
||||
|
||||
static CURLcode inflate_stream(struct connectdata *conn,
|
||||
contenc_writer *writer, zlibInitState started)
|
||||
struct contenc_writer *writer,
|
||||
zlibInitState started)
|
||||
{
|
||||
zlib_params *zp = (zlib_params *) &writer->params;
|
||||
struct zlib_params *zp = (struct zlib_params *) &writer->params;
|
||||
z_stream *z = &zp->z; /* zlib state structure */
|
||||
uInt nread = z->avail_in;
|
||||
Bytef *orig_in = z->next_in;
|
||||
|
|
@ -259,9 +261,9 @@ static CURLcode inflate_stream(struct connectdata *conn,
|
|||
|
||||
/* Deflate handler. */
|
||||
static CURLcode deflate_init_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
zlib_params *zp = (zlib_params *) &writer->params;
|
||||
struct zlib_params *zp = (struct zlib_params *) &writer->params;
|
||||
z_stream *z = &zp->z; /* zlib state structure */
|
||||
|
||||
if(!writer->downstream)
|
||||
|
|
@ -278,10 +280,10 @@ static CURLcode deflate_init_writer(struct connectdata *conn,
|
|||
}
|
||||
|
||||
static CURLcode deflate_unencode_write(struct connectdata *conn,
|
||||
contenc_writer *writer,
|
||||
struct contenc_writer *writer,
|
||||
const char *buf, size_t nbytes)
|
||||
{
|
||||
zlib_params *zp = (zlib_params *) &writer->params;
|
||||
struct zlib_params *zp = (struct zlib_params *) &writer->params;
|
||||
z_stream *z = &zp->z; /* zlib state structure */
|
||||
|
||||
/* Set the compressed input when this function is called */
|
||||
|
|
@ -296,29 +298,29 @@ static CURLcode deflate_unencode_write(struct connectdata *conn,
|
|||
}
|
||||
|
||||
static void deflate_close_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
zlib_params *zp = (zlib_params *) &writer->params;
|
||||
struct zlib_params *zp = (struct zlib_params *) &writer->params;
|
||||
z_stream *z = &zp->z; /* zlib state structure */
|
||||
|
||||
exit_zlib(conn, z, &zp->zlib_init, CURLE_OK);
|
||||
}
|
||||
|
||||
static const content_encoding deflate_encoding = {
|
||||
static const struct content_encoding deflate_encoding = {
|
||||
"deflate",
|
||||
NULL,
|
||||
deflate_init_writer,
|
||||
deflate_unencode_write,
|
||||
deflate_close_writer,
|
||||
sizeof(zlib_params)
|
||||
sizeof(struct zlib_params)
|
||||
};
|
||||
|
||||
|
||||
/* Gzip handler. */
|
||||
static CURLcode gzip_init_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
zlib_params *zp = (zlib_params *) &writer->params;
|
||||
struct zlib_params *zp = (struct zlib_params *) &writer->params;
|
||||
z_stream *z = &zp->z; /* zlib state structure */
|
||||
|
||||
if(!writer->downstream)
|
||||
|
|
@ -432,10 +434,10 @@ static enum {
|
|||
#endif
|
||||
|
||||
static CURLcode gzip_unencode_write(struct connectdata *conn,
|
||||
contenc_writer *writer,
|
||||
struct contenc_writer *writer,
|
||||
const char *buf, size_t nbytes)
|
||||
{
|
||||
zlib_params *zp = (zlib_params *) &writer->params;
|
||||
struct zlib_params *zp = (struct zlib_params *) &writer->params;
|
||||
z_stream *z = &zp->z; /* zlib state structure */
|
||||
|
||||
if(zp->zlib_init == ZLIB_INIT_GZIP) {
|
||||
|
|
@ -560,33 +562,31 @@ static CURLcode gzip_unencode_write(struct connectdata *conn,
|
|||
}
|
||||
|
||||
static void gzip_close_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
zlib_params *zp = (zlib_params *) &writer->params;
|
||||
struct zlib_params *zp = (struct zlib_params *) &writer->params;
|
||||
z_stream *z = &zp->z; /* zlib state structure */
|
||||
|
||||
exit_zlib(conn, z, &zp->zlib_init, CURLE_OK);
|
||||
}
|
||||
|
||||
static const content_encoding gzip_encoding = {
|
||||
static const struct content_encoding gzip_encoding = {
|
||||
"gzip",
|
||||
"x-gzip",
|
||||
gzip_init_writer,
|
||||
gzip_unencode_write,
|
||||
gzip_close_writer,
|
||||
sizeof(zlib_params)
|
||||
sizeof(struct zlib_params)
|
||||
};
|
||||
|
||||
#endif /* HAVE_LIBZ */
|
||||
|
||||
|
||||
#ifdef HAVE_BROTLI
|
||||
|
||||
/* Writer parameters. */
|
||||
typedef struct {
|
||||
struct brotli_params {
|
||||
BrotliDecoderState *br; /* State structure for brotli. */
|
||||
} brotli_params;
|
||||
|
||||
};
|
||||
|
||||
static CURLcode brotli_map_error(BrotliDecoderErrorCode be)
|
||||
{
|
||||
|
|
@ -627,10 +627,9 @@ static CURLcode brotli_map_error(BrotliDecoderErrorCode be)
|
|||
}
|
||||
|
||||
static CURLcode brotli_init_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
brotli_params *bp = (brotli_params *) &writer->params;
|
||||
|
||||
struct brotli_params *bp = (struct brotli_params *) &writer->params;
|
||||
(void) conn;
|
||||
|
||||
if(!writer->downstream)
|
||||
|
|
@ -641,10 +640,10 @@ static CURLcode brotli_init_writer(struct connectdata *conn,
|
|||
}
|
||||
|
||||
static CURLcode brotli_unencode_write(struct connectdata *conn,
|
||||
contenc_writer *writer,
|
||||
struct contenc_writer *writer,
|
||||
const char *buf, size_t nbytes)
|
||||
{
|
||||
brotli_params *bp = (brotli_params *) &writer->params;
|
||||
struct brotli_params *bp = (struct brotli_params *) &writer->params;
|
||||
const uint8_t *src = (const uint8_t *) buf;
|
||||
char *decomp;
|
||||
uint8_t *dst;
|
||||
|
|
@ -689,10 +688,9 @@ static CURLcode brotli_unencode_write(struct connectdata *conn,
|
|||
}
|
||||
|
||||
static void brotli_close_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
brotli_params *bp = (brotli_params *) &writer->params;
|
||||
|
||||
struct brotli_params *bp = (struct brotli_params *) &writer->params;
|
||||
(void) conn;
|
||||
|
||||
if(bp->br) {
|
||||
|
|
@ -701,40 +699,40 @@ static void brotli_close_writer(struct connectdata *conn,
|
|||
}
|
||||
}
|
||||
|
||||
static const content_encoding brotli_encoding = {
|
||||
static const struct content_encoding brotli_encoding = {
|
||||
"br",
|
||||
NULL,
|
||||
brotli_init_writer,
|
||||
brotli_unencode_write,
|
||||
brotli_close_writer,
|
||||
sizeof(brotli_params)
|
||||
sizeof(struct brotli_params)
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
/* Identity handler. */
|
||||
static CURLcode identity_init_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
(void) conn;
|
||||
return writer->downstream? CURLE_OK: CURLE_WRITE_ERROR;
|
||||
}
|
||||
|
||||
static CURLcode identity_unencode_write(struct connectdata *conn,
|
||||
contenc_writer *writer,
|
||||
struct contenc_writer *writer,
|
||||
const char *buf, size_t nbytes)
|
||||
{
|
||||
return Curl_unencode_write(conn, writer->downstream, buf, nbytes);
|
||||
}
|
||||
|
||||
static void identity_close_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
(void) conn;
|
||||
(void) writer;
|
||||
}
|
||||
|
||||
static const content_encoding identity_encoding = {
|
||||
static const struct content_encoding identity_encoding = {
|
||||
"identity",
|
||||
"none",
|
||||
identity_init_writer,
|
||||
|
|
@ -745,7 +743,7 @@ static const content_encoding identity_encoding = {
|
|||
|
||||
|
||||
/* supported content encodings table. */
|
||||
static const content_encoding * const encodings[] = {
|
||||
static const struct content_encoding * const encodings[] = {
|
||||
&identity_encoding,
|
||||
#ifdef HAVE_LIBZ
|
||||
&deflate_encoding,
|
||||
|
|
@ -762,8 +760,8 @@ static const content_encoding * const encodings[] = {
|
|||
char *Curl_all_content_encodings(void)
|
||||
{
|
||||
size_t len = 0;
|
||||
const content_encoding * const *cep;
|
||||
const content_encoding *ce;
|
||||
const struct content_encoding * const *cep;
|
||||
const struct content_encoding *ce;
|
||||
char *ace;
|
||||
|
||||
for(cep = encodings; *cep; cep++) {
|
||||
|
|
@ -796,14 +794,14 @@ char *Curl_all_content_encodings(void)
|
|||
|
||||
/* Real client writer: no downstream. */
|
||||
static CURLcode client_init_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
(void) conn;
|
||||
return writer->downstream? CURLE_WRITE_ERROR: CURLE_OK;
|
||||
}
|
||||
|
||||
static CURLcode client_unencode_write(struct connectdata *conn,
|
||||
contenc_writer *writer,
|
||||
struct contenc_writer *writer,
|
||||
const char *buf, size_t nbytes)
|
||||
{
|
||||
struct Curl_easy *data = conn->data;
|
||||
|
|
@ -818,13 +816,13 @@ static CURLcode client_unencode_write(struct connectdata *conn,
|
|||
}
|
||||
|
||||
static void client_close_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
(void) conn;
|
||||
(void) writer;
|
||||
}
|
||||
|
||||
static const content_encoding client_encoding = {
|
||||
static const struct content_encoding client_encoding = {
|
||||
NULL,
|
||||
NULL,
|
||||
client_init_writer,
|
||||
|
|
@ -836,14 +834,14 @@ static const content_encoding client_encoding = {
|
|||
|
||||
/* Deferred error dummy writer. */
|
||||
static CURLcode error_init_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
(void) conn;
|
||||
return writer->downstream? CURLE_OK: CURLE_WRITE_ERROR;
|
||||
}
|
||||
|
||||
static CURLcode error_unencode_write(struct connectdata *conn,
|
||||
contenc_writer *writer,
|
||||
struct contenc_writer *writer,
|
||||
const char *buf, size_t nbytes)
|
||||
{
|
||||
char *all = Curl_all_content_encodings();
|
||||
|
|
@ -861,13 +859,13 @@ static CURLcode error_unencode_write(struct connectdata *conn,
|
|||
}
|
||||
|
||||
static void error_close_writer(struct connectdata *conn,
|
||||
contenc_writer *writer)
|
||||
struct contenc_writer *writer)
|
||||
{
|
||||
(void) conn;
|
||||
(void) writer;
|
||||
}
|
||||
|
||||
static const content_encoding error_encoding = {
|
||||
static const struct content_encoding error_encoding = {
|
||||
NULL,
|
||||
NULL,
|
||||
error_init_writer,
|
||||
|
|
@ -877,12 +875,13 @@ static const content_encoding error_encoding = {
|
|||
};
|
||||
|
||||
/* Create an unencoding writer stage using the given handler. */
|
||||
static contenc_writer *new_unencoding_writer(struct connectdata *conn,
|
||||
const content_encoding *handler,
|
||||
contenc_writer *downstream)
|
||||
static struct contenc_writer *
|
||||
new_unencoding_writer(struct connectdata *conn,
|
||||
const struct content_encoding *handler,
|
||||
struct contenc_writer *downstream)
|
||||
{
|
||||
size_t sz = offsetof(contenc_writer, params) + handler->paramsize;
|
||||
contenc_writer *writer = (contenc_writer *) calloc(1, sz);
|
||||
size_t sz = offsetof(struct contenc_writer, params) + handler->paramsize;
|
||||
struct contenc_writer *writer = (struct contenc_writer *)calloc(1, sz);
|
||||
|
||||
if(writer) {
|
||||
writer->handler = handler;
|
||||
|
|
@ -897,7 +896,8 @@ static contenc_writer *new_unencoding_writer(struct connectdata *conn,
|
|||
}
|
||||
|
||||
/* Write data using an unencoding writer stack. */
|
||||
CURLcode Curl_unencode_write(struct connectdata *conn, contenc_writer *writer,
|
||||
CURLcode Curl_unencode_write(struct connectdata *conn,
|
||||
struct contenc_writer *writer,
|
||||
const char *buf, size_t nbytes)
|
||||
{
|
||||
if(!nbytes)
|
||||
|
|
@ -910,7 +910,7 @@ void Curl_unencode_cleanup(struct connectdata *conn)
|
|||
{
|
||||
struct Curl_easy *data = conn->data;
|
||||
struct SingleRequest *k = &data->req;
|
||||
contenc_writer *writer = k->writer_stack;
|
||||
struct contenc_writer *writer = k->writer_stack;
|
||||
|
||||
while(writer) {
|
||||
k->writer_stack = writer->downstream;
|
||||
|
|
@ -921,12 +921,13 @@ void Curl_unencode_cleanup(struct connectdata *conn)
|
|||
}
|
||||
|
||||
/* Find the content encoding by name. */
|
||||
static const content_encoding *find_encoding(const char *name, size_t len)
|
||||
static const struct content_encoding *find_encoding(const char *name,
|
||||
size_t len)
|
||||
{
|
||||
const content_encoding * const *cep;
|
||||
const struct content_encoding * const *cep;
|
||||
|
||||
for(cep = encodings; *cep; cep++) {
|
||||
const content_encoding *ce = *cep;
|
||||
const struct content_encoding *ce = *cep;
|
||||
if((strncasecompare(name, ce->name, len) && !ce->name[len]) ||
|
||||
(ce->alias && strncasecompare(name, ce->alias, len) && !ce->alias[len]))
|
||||
return ce;
|
||||
|
|
@ -962,8 +963,8 @@ CURLcode Curl_build_unencoding_stack(struct connectdata *conn,
|
|||
Curl_httpchunk_init(conn); /* init our chunky engine. */
|
||||
}
|
||||
else if(namelen) {
|
||||
const content_encoding *encoding = find_encoding(name, namelen);
|
||||
contenc_writer *writer;
|
||||
const struct content_encoding *encoding = find_encoding(name, namelen);
|
||||
struct contenc_writer *writer;
|
||||
|
||||
if(!k->writer_stack) {
|
||||
k->writer_stack = new_unencoding_writer(conn, &client_encoding, NULL);
|
||||
|
|
@ -997,7 +998,8 @@ CURLcode Curl_build_unencoding_stack(struct connectdata *conn,
|
|||
return CURLE_NOT_BUILT_IN;
|
||||
}
|
||||
|
||||
CURLcode Curl_unencode_write(struct connectdata *conn, contenc_writer *writer,
|
||||
CURLcode Curl_unencode_write(struct connectdata *conn,
|
||||
struct contenc_writer *writer,
|
||||
const char *buf, size_t nbytes)
|
||||
{
|
||||
(void) conn;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue