On 3/27/20 9:48 AM, Joe Orton wrote:
> I assume all these functions should be declared static but haven't
> looked at the code. branches/1.7.x as at r1875766 -
>
> jose/apr_jose_decode.c:21:14: warning: no previous prototype for
> ‘apr_jose_flatten’ [-Wmissing-prototypes]
> 21 | apr_status_t apr_jose_flatten(apr_bucket_brigade *bb, apr_jose_text_t
> *in,
> | ^~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:40:14: warning: no previous prototype for
> ‘apr_jose_decode_jwk’ [-Wmissing-prototypes]
> 40 | apr_status_t apr_jose_decode_jwk(apr_jose_t **jose,
> | ^~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:75:14: warning: no previous prototype for
> ‘apr_jose_decode_jwks’ [-Wmissing-prototypes]
> 75 | apr_status_t apr_jose_decode_jwks(apr_jose_t **jose,
> | ^~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:116:14: warning: no previous prototype for
> ‘apr_jose_decode_jwt’ [-Wmissing-prototypes]
> 116 | apr_status_t apr_jose_decode_jwt(apr_jose_t **jose,
> | ^~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:151:14: warning: no previous prototype for
> ‘apr_jose_decode_data’ [-Wmissing-prototypes]
> 151 | apr_status_t apr_jose_decode_data(apr_jose_t **jose, const char *typ,
> | ^~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:172:14: warning: no previous prototype for
> ‘apr_jose_decode_jws_signature’ [-Wmissing-prototypes]
> 172 | apr_status_t apr_jose_decode_jws_signature(apr_jose_t **jose,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:272:14: warning: no previous prototype for
> ‘apr_jose_decode_jwe_recipient’ [-Wmissing-prototypes]
> 272 | apr_status_t apr_jose_decode_jwe_recipient(apr_jose_t **jose,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:389:14: warning: no previous prototype for
> ‘apr_jose_decode_compact_jws’ [-Wmissing-prototypes]
> 389 | apr_status_t apr_jose_decode_compact_jws(apr_jose_t **jose,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:489:14: warning: no previous prototype for
> ‘apr_jose_decode_compact_jwe’ [-Wmissing-prototypes]
> 489 | apr_status_t apr_jose_decode_compact_jwe(apr_jose_t **jose, const
> char *left,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:636:14: warning: no previous prototype for
> ‘apr_jose_decode_compact’ [-Wmissing-prototypes]
> 636 | apr_status_t apr_jose_decode_compact(apr_jose_t **jose, const char
> *typ,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:817:14: warning: no previous prototype for
> ‘apr_jose_decode_json_jws’ [-Wmissing-prototypes]
> 817 | apr_status_t apr_jose_decode_json_jws(apr_jose_t **jose,
> apr_json_value_t *val,
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:1174:14: warning: no previous prototype for
> ‘apr_jose_decode_json_jwe’ [-Wmissing-prototypes]
> 1174 | apr_status_t apr_jose_decode_json_jwe(apr_jose_t **jose,
> apr_json_value_t *val,
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> jose/apr_jose_decode.c:1578:14: warning: no previous prototype for
> ‘apr_jose_decode_json’ [-Wmissing-prototypes]
> 1578 | apr_status_t apr_jose_decode_json(apr_jose_t **jose, const char *typ,
> | ^~~~~~~~~~~~~~~~~~~~
>
>
Hmm. Their names suggests that they are part of an API and hence should have
prototypes in a header file.
Regards
Rüdiger