| |
* 2. Redistributions in binary form must reproduce the above copyright
|
| |
* notice, this list of conditions and the following disclaimer in the
|
| |
* documentation and/or other materials provided with the distribution.
|
| - |
*
|
| + |
*
|
| |
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
|
| |
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
| |
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
| |
#ifndef _PKG_EVENT
|
| |
#define _PKG_EVENT
|
| |
|
| - |
void pkg_emit_error(const char *fmt, ...);
|
| - |
void pkg_emit_notice(const char *fmt, ...);
|
| + |
#ifdef __GNUC__
|
| + |
#define PKG_FORMAT_ATTRIBUTE(x, y) __attribute__ ((format (printf, (x), (y))));
|
| + |
#else
|
| + |
#define PKG_FORMAT_ATTRIBUTE(x, y)
|
| + |
#endif
|
| + |
void pkg_emit_error(const char *fmt, ...) PKG_FORMAT_ATTRIBUTE(1, 2);
|
| + |
void pkg_emit_notice(const char *fmt, ...) PKG_FORMAT_ATTRIBUTE(1, 2);
|
| |
void pkg_emit_errno(const char *func, const char *arg);
|
| |
|
| |
#define pkg_errno(fmt, ...) \
|
| |
void pkg_emit_nolocaldb(void);
|
| |
void pkg_emit_file_mismatch(struct pkg *pkg, struct pkg_file *f, const char *newsum);
|
| |
void pkg_emit_newpkgversion(void);
|
| - |
void pkg_emit_developer_mode(const char *fmt, ...);
|
| + |
void pkg_emit_developer_mode(const char *fmt, ...) PKG_FORMAT_ATTRIBUTE(1, 2);
|
| |
void pkg_emit_package_not_found(const char *);
|
| |
void pkg_emit_incremental_update(const char *reponame, int processed);
|
| |
void pkg_emit_backup(void);
|
| |
void pkg_emit_restore(void);
|
| - |
void pkg_debug(int level, const char *fmt, ...);
|
| + |
void pkg_debug(int level, const char *fmt, ...) PKG_FORMAT_ATTRIBUTE(2, 3);
|
| |
int pkg_emit_sandbox_call(pkg_sandbox_cb call, int fd, void *ud);
|
| |
int pkg_emit_sandbox_get_string(pkg_sandbox_cb call, void *ud, char **str, int64_t *len);
|
| |
|
| |
bool pkg_emit_query_yesno(bool deft, const char *msg);
|
| |
int pkg_emit_query_select(const char *msg, const char **items, int ncnt, int deft);
|
| |
|
| - |
void pkg_emit_progress_start(const char *fmt, ...);
|
| + |
void pkg_emit_progress_start(const char *fmt, ...) PKG_FORMAT_ATTRIBUTE(1, 2);
|
| |
void pkg_emit_progress_tick(int64_t current, int64_t total);
|
| |
|
| |
void pkg_emit_add_deps_begin(struct pkg *p);
|