Your code is calling functions which lack prototypes. In C++, this would
have been a build failure, but C is lazy so you just get a warning. This
can be a problem as gcc has to guess at what sort of arguments a function
takes based upon how it was called and often times, this is not the same
as what the function actually takes. The function return type is also
unknown so it's just assumed to be an integer (which is often times wrong).
This can get to be a problem when the size of the types guessed do not
actually match the size of the types the function expects. Generally, this
corresponds directly to proper coding practices (and the lack thereof).
Also, by including proper prototypes, the compiler often helps by checking
types used, proper number of arguments passed, etc...

To fix this, just include the proper header files for the functions in
question. If the function is a package-specific one, then you may have to
create a header/function prototype for it.