Declare printf-like attributes for strcatf() and xasprintf()

Declare printf-like attributes for strcatf() and xasprintf(), and
clean up errors found by the compile after doing so.
This commit is contained in:
Justin Maggard 2014-04-10 18:18:28 -07:00
parent 57c6510fe4
commit 45cf9208fb
3 changed files with 7 additions and 5 deletions

View File

@ -308,7 +308,7 @@ SendItemDetails(struct upnphttp *h, int64_t item)
args.requested = 1;
xasprintf(&sql, SELECT_COLUMNS
"from OBJECTS o left join DETAILS d on (d.ID = o.DETAIL_ID)"
" where o.DETAIL_ID = %lld group by o.DETAIL_ID", item);
" where o.DETAIL_ID = %lld group by o.DETAIL_ID", (long long)item);
DPRINTF(E_DEBUG, L_TIVO, "%s\n", sql);
ret = sqlite3_exec(db, sql, callback, (void *) &args, &zErrMsg);
free(sql);

View File

@ -1984,9 +1984,9 @@ SendResp_dlnafile(struct upnphttp *h, char *object)
if( h->reqflags & FLAG_CAPTION )
{
if( sql_get_int_field(db, "SELECT ID from CAPTIONS where ID = '%lld'", id) > 0 )
if( sql_get_int_field(db, "SELECT ID from CAPTIONS where ID = '%lld'", (long long)id) > 0 )
strcatf(&str, "CaptionInfo.sec: http://%s:%d/Captions/%lld.srt\r\n",
lan_addr[h->iface].str, runtime_vars.port, id);
lan_addr[h->iface].str, runtime_vars.port, (long long)id);
}
strftime(date, 30,"%a, %d %b %Y %H:%M:%S GMT" , gmtime(&curtime));

View File

@ -31,7 +31,9 @@
/* String functions */
/* We really want this one inlined, since it has a major performance impact */
static inline int strcatf(struct string_s *str, const char *fmt, ...)
static inline int
__attribute__((__format__ (__printf__, 2, 3)))
strcatf(struct string_s *str, const char *fmt, ...)
{
int ret;
int size;
@ -53,7 +55,7 @@ static inline void strncpyt(char *dst, const char *src, size_t len)
strncpy(dst, src, len);
dst[len-1] = '\0';
}
int xasprintf(char **strp, char *fmt, ...);
int xasprintf(char **strp, char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
int ends_with(const char * haystack, const char * needle);
char *trim(char *str);
char *strstrc(const char *s, const char *p, const char t);