Skip to content

"No previous prototype for function" warnings #213

@evanmiller

Description

@evanmiller

When I compile with -Wmissing-prototypes I get:

$ make
[  2%] Building C object CMakeFiles/libminizip.dir/src/mz_os.c.o
[  4%] Building C object CMakeFiles/libminizip.dir/src/mz_compat.c.o
[  6%] Building C object CMakeFiles/libminizip.dir/src/mz_strm.c.o
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:435:9: warning: no previous prototype for function 'mz_stream_raw_open'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_open(void *stream, const char *path, int32_t mode)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:440:9: warning: no previous prototype for function 'mz_stream_raw_is_open'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_is_open(void *stream)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:446:9: warning: no previous prototype for function 'mz_stream_raw_read'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_read(void *stream, void *buf, int32_t size)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:466:9: warning: no previous prototype for function 'mz_stream_raw_write'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_write(void *stream, const void *buf, int32_t size)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:475:9: warning: no previous prototype for function 'mz_stream_raw_tell'
      [-Wmissing-prototypes]
int64_t mz_stream_raw_tell(void *stream)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:481:9: warning: no previous prototype for function 'mz_stream_raw_seek'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_seek(void *stream, int64_t offset, int32_t origin)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:487:9: warning: no previous prototype for function 'mz_stream_raw_close'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_close(void *stream)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:492:9: warning: no previous prototype for function 'mz_stream_raw_error'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_error(void *stream)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:498:9: warning: no previous prototype for function 'mz_stream_raw_get_prop_int64'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_get_prop_int64(void *stream, int32_t prop, int64_t *value)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm.c:513:9: warning: no previous prototype for function 'mz_stream_raw_set_prop_int64'
      [-Wmissing-prototypes]
int32_t mz_stream_raw_set_prop_int64(void *stream, int32_t prop, int64_t value)
        ^
10 warnings generated.
[  8%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_buf.c.o
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_buf.c:79:9: warning: no previous prototype for function 'mz_stream_buffered_flush'
      [-Wmissing-prototypes]
int32_t mz_stream_buffered_flush(void *stream, int32_t *written)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_buf.c:239:9: warning: no previous prototype for function
      'mz_stream_buffered_tellinternal' [-Wmissing-prototypes]
int64_t mz_stream_buffered_tellinternal(void *stream, uint64_t position)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_buf.c:261:5: warning: no previous prototype for function
      'mz_stream_buffered_seekinternal' [-Wmissing-prototypes]
int mz_stream_buffered_seekinternal(void *stream, int64_t offset, int32_t origin)
    ^
3 warnings generated.
[ 10%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_mem.c.o
[ 13%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_posix.c.o
[ 15%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_split.c.o
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_split.c:69:9: warning: no previous prototype for function 'mz_stream_split_open_disk'
      [-Wmissing-prototypes]
int32_t mz_stream_split_open_disk(void *stream, int32_t number_disk)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_split.c:143:9: warning: no previous prototype for function 'mz_stream_split_close_disk'
      [-Wmissing-prototypes]
int32_t mz_stream_split_close_disk(void *stream)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_split.c:153:9: warning: no previous prototype for function 'mz_stream_split_goto_disk'
      [-Wmissing-prototypes]
int32_t mz_stream_split_goto_disk(void *stream, int32_t number_disk)
        ^
3 warnings generated.
[ 17%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_zlib.c.o
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_zlib.c:198:9: warning: no previous prototype for function 'mz_stream_zlib_flush'
      [-Wmissing-prototypes]
int32_t mz_stream_zlib_flush(void *stream)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_zlib.c:206:9: warning: no previous prototype for function 'mz_stream_zlib_deflate'
      [-Wmissing-prototypes]
int32_t mz_stream_zlib_deflate(void *stream, int flush)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_zlib.c:372:9: warning: no previous prototype for function 'mz_stream_zlib_crc32'
      [-Wmissing-prototypes]
int32_t mz_stream_zlib_crc32(int32_t value, const void *buf, int32_t size)
        ^
3 warnings generated.
[ 19%] Building C object CMakeFiles/libminizip.dir/src/mz_zip.c.o
[ 21%] Building C object CMakeFiles/libminizip.dir/src/mz_os_posix.c.o
[ 23%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_crypt.c.o
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_crypt.c:83:9: warning: no previous prototype for function
      'mz_stream_crypt_decrypt_byte' [-Wmissing-prototypes]
uint8_t mz_stream_crypt_decrypt_byte(uint32_t *keys)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_crypt.c:93:9: warning: no previous prototype for function 'mz_stream_crypt_update_keys'
      [-Wmissing-prototypes]
uint8_t mz_stream_crypt_update_keys(uint32_t *keys, const z_crc_t *crc_32_tab, int32_t c)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_crypt.c:107:6: warning: no previous prototype for function 'mz_stream_crypt_init_keys'
      [-Wmissing-prototypes]
void mz_stream_crypt_init_keys(const char *password, uint32_t *keys, const z_crc_t *crc_32_tab)
     ^
3 warnings generated.
[ 26%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_aes.c.o
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_aes.c:175:9: warning: no previous prototype for function 'mz_stream_aes_encrypt_data'
      [-Wmissing-prototypes]
int32_t mz_stream_aes_encrypt_data(void *stream, uint8_t *buf, int32_t size)
        ^
1 warning generated.
[ 28%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_bzip.c.o
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_bzip.c:193:9: warning: no previous prototype for function 'mz_stream_bzip_flush'
      [-Wmissing-prototypes]
int32_t mz_stream_bzip_flush(void *stream)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_bzip.c:201:9: warning: no previous prototype for function 'mz_stream_bzip_compress'
      [-Wmissing-prototypes]
int32_t mz_stream_bzip_compress(void *stream, int flush)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_bzip.c:372:13: warning: no previous prototype for function 'bz_internal_error'
      [-Wmissing-prototypes]
extern void bz_internal_error(int errcode)
            ^
3 warnings generated.
[ 30%] Building C object CMakeFiles/libminizip.dir/src/mz_strm_lzma.c.o
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_lzma.c:210:9: warning: no previous prototype for function 'mz_stream_lzma_flush'
      [-Wmissing-prototypes]
int32_t mz_stream_lzma_flush(void *stream)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_lzma.c:218:9: warning: no previous prototype for function 'mz_stream_lzma_code'
      [-Wmissing-prototypes]
int32_t mz_stream_lzma_code(void *stream, int32_t flush)
        ^
/Users/emiller/Code/WizardLibs/minizip/src/mz_strm_lzma.c:386:9: warning: no previous prototype for function 'mz_stream_lzma_crc32'
      [-Wmissing-prototypes]
int32_t mz_stream_lzma_crc32(int32_t value, const void *buf, int32_t size)
        ^
3 warnings generated.
[ 32%] Building C object CMakeFiles/libminizip.dir/lib/aes/aescrypt.c.o
[ 34%] Building C object CMakeFiles/libminizip.dir/lib/aes/aeskey.c.o
[ 36%] Building C object CMakeFiles/libminizip.dir/lib/aes/aestab.c.o
[ 39%] Building C object CMakeFiles/libminizip.dir/lib/aes/aes_ni.c.o
[ 41%] Building C object CMakeFiles/libminizip.dir/lib/aes/hmac.c.o
[ 43%] Building C object CMakeFiles/libminizip.dir/lib/aes/pwd2key.c.o
/Users/emiller/Code/WizardLibs/minizip/lib/aes/pwd2key.c:32:6: warning: no previous prototype for function 'derive_key'
      [-Wmissing-prototypes]
void derive_key(const unsigned char pwd[],  /* the PASSWORD     */
     ^
1 warning generated.

Would be great to get these fixed, either by adding a prototype or declaring these function as static.

$ clang --version
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.3.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilationIssues related to compiling source codefixedIssue or bug has been fixed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions