From 61fbce18baed4e9e718c816511e2881ebe61ae73 Mon Sep 17 00:00:00 2001 From: Justin Maggard Date: Fri, 29 Jun 2012 23:14:27 +0000 Subject: [PATCH] * Replace sqlite_int64 with int64_t in many places, to better allow for the possibility of other databases. (Thanks Douglas Carmichael) --- Makefile.am | 2 +- albumart.c | 12 +++-- albumart.h | 6 +-- inotify.c | 6 +-- log.c | 1 + metadata.c | 39 +++++++-------- metadata.h | 22 ++++----- minissdp.c | 3 +- playlist.c | 2 +- scanner.c | 127 ++++++++++++++++++++++++------------------------ scanner.h | 14 +++--- tivo_commands.c | 27 +++++----- tivo_commands.h | 2 +- tivo_utils.c | 6 +-- tivo_utils.h | 2 +- upnpevents.c | 3 +- upnphttp.c | 10 ++-- upnpsoap.c | 3 +- utils.c | 2 + 19 files changed, 151 insertions(+), 138 deletions(-) diff --git a/Makefile.am b/Makefile.am index 28e9e5b..77ef289 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -AM_CFLAGS = -Wall -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 @STATIC_CFLAGS@ +AM_CFLAGS = -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 @STATIC_CFLAGS@ SUBDIRS=po diff --git a/albumart.c b/albumart.c index f78d2b7..8bed30a 100644 --- a/albumart.c +++ b/albumart.c @@ -15,6 +15,8 @@ * You should have received a copy of the GNU General Public License * along with MiniDLNA. If not, see . */ +#include "config.h" + #include #include #include @@ -104,7 +106,8 @@ update_if_album_art(const char *path) DIR *dh; struct dirent *dp; enum file_types type = TYPE_UNKNOWN; - sqlite_int64 art_id = 0; + int64_t art_id = 0; + int ret; strncpyt(fpath, path, sizeof(fpath)); match = basename(fpath); @@ -150,7 +153,8 @@ update_if_album_art(const char *path) DPRINTF(E_DEBUG, L_METADATA, "New file %s looks like cover art for %s\n", path, dp->d_name); snprintf(file, sizeof(file), "%s/%s", dir, dp->d_name); art_id = find_album_art(file, NULL, 0); - if( sql_exec(db, "UPDATE DETAILS set ALBUM_ART = %lld where PATH = '%q'", art_id, file) != SQLITE_OK ) + ret = sql_exec(db, "UPDATE DETAILS set ALBUM_ART = %lld where PATH = '%q'", (long long)art_id, file); + if( ret != SQLITE_OK ) DPRINTF(E_WARN, L_METADATA, "Error setting %s as cover art for %s\n", match, dp->d_name); } } @@ -334,14 +338,14 @@ found_file: return NULL; } -sqlite_int64 +int64_t find_album_art(const char *path, const char *image_data, int image_size) { char *album_art = NULL; char *sql; char **result; int cols, rows; - sqlite_int64 ret = 0; + int64_t ret = 0; if( (image_size && (album_art = check_embedded_art(path, image_data, image_size))) || (album_art = check_for_album_file(path)) ) diff --git a/albumart.h b/albumart.h index 00193d7..94be569 100644 --- a/albumart.h +++ b/albumart.h @@ -25,9 +25,9 @@ #define __ALBUMART_H__ void -update_if_album_art(const char * path); +update_if_album_art(const char *path); -sqlite_int64 -find_album_art(const char * path, const char * image_data, int image_size); +int64_t +find_album_art(const char *path, const char *image_data, int image_size); #endif diff --git a/inotify.c b/inotify.c index a44c959..6d04c10 100644 --- a/inotify.c +++ b/inotify.c @@ -518,7 +518,7 @@ inotify_remove_file(const char * path) char *id; char *ptr; char **result; - sqlite_int64 detailID; + int64_t detailID; int rows, playlist; if( ends_with(path, ".srt") ) @@ -546,7 +546,7 @@ inotify_remove_file(const char * path) else { /* Delete the parent containers if we are about to empty them. */ - snprintf(sql, sizeof(sql), "SELECT PARENT_ID from OBJECTS where DETAIL_ID = %lld", detailID); + snprintf(sql, sizeof(sql), "SELECT PARENT_ID from OBJECTS where DETAIL_ID = %lld", (long long int)detailID); if( (sql_get_table(db, sql, &result, &rows, NULL) == SQLITE_OK) ) { int i, children; @@ -596,7 +596,7 @@ inotify_remove_directory(int fd, const char * path) { char * sql; char **result; - sqlite_int64 detailID = 0; + int64_t detailID = 0; int rows, i, ret = 1; /* Invalidate the scanner cache so we don't insert files into non-existent containers */ diff --git a/log.c b/log.c index a09e2cd..a6dc307 100644 --- a/log.c +++ b/log.c @@ -17,6 +17,7 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include "config.h" #include #include diff --git a/metadata.c b/metadata.c index 5e02e18..57f3abb 100644 --- a/metadata.c +++ b/metadata.c @@ -15,6 +15,8 @@ * You should have received a copy of the GNU General Public License * along with MiniDLNA. If not, see . */ +#include "config.h" + #include #include #include @@ -26,7 +28,6 @@ #include #include -#include "config.h" #include #include "image_utils.h" #include "tagutils/tagutils.h" @@ -170,7 +171,7 @@ typedef AVMetadataTag AVDictionaryEntry; #define MPEG_TS_PACKET_LENGTH 188 #define MPEG_TS_PACKET_LENGTH_DLNA 192 /* prepends 4 bytes to TS packet */ int -dlna_timestamp_is_present(const char * filename, int * raw_packet_size) +dlna_timestamp_is_present(const char *filename, int *raw_packet_size) { unsigned char buffer[3*MPEG_TS_PACKET_LENGTH_DLNA]; int fd, i; @@ -211,7 +212,7 @@ dlna_timestamp_is_present(const char * filename, int * raw_packet_size) #ifdef TIVO_SUPPORT int -is_tivo_file(const char * path) +is_tivo_file(const char *path) { unsigned char buf[5]; unsigned char hdr[5] = { 'T','i','V','o','\0' }; @@ -230,7 +231,7 @@ is_tivo_file(const char * path) #endif void -check_for_captions(const char * path, sqlite_int64 detailID) +check_for_captions(const char *path, int64_t detailID) { char *file = malloc(MAXPATHLEN); char *id = NULL; @@ -270,7 +271,7 @@ no_source_video: } void -parse_nfo(const char * path, metadata_t * m) +parse_nfo(const char *path, metadata_t *m) { FILE *nfo; char buf[65536]; @@ -321,7 +322,7 @@ parse_nfo(const char * path, metadata_t * m) } void -free_metadata(metadata_t * m, uint32_t flags) +free_metadata(metadata_t *m, uint32_t flags) { if( flags & FLAG_TITLE ) free(m->title); @@ -357,8 +358,8 @@ free_metadata(metadata_t * m, uint32_t flags) free(m->rotation); } -sqlite_int64 -GetFolderMetadata(const char * name, const char * path, const char * artist, const char * genre, sqlite_int64 album_art) +int64_t +GetFolderMetadata(const char *name, const char *path, const char *artist, const char *genre, int64_t album_art) { int ret; @@ -375,16 +376,16 @@ GetFolderMetadata(const char * name, const char * path, const char * artist, con return ret; } -sqlite_int64 -GetAudioMetadata(const char * path, char * name) +int64_t +GetAudioMetadata(const char *path, char *name) { char type[4]; static char lang[6] = { '\0' }; struct stat file; - sqlite_int64 ret; + int64_t ret; char *esc_tag; int i; - sqlite_int64 album_art = 0; + int64_t album_art = 0; struct song_metadata song; metadata_t m; uint32_t free_flags = FLAG_MIME|FLAG_DURATION|FLAG_DLNA_PN|FLAG_DATE; @@ -580,8 +581,8 @@ libjpeg_error_handler(j_common_ptr cinfo) return; } -sqlite_int64 -GetImageMetadata(const char * path, char * name) +int64_t +GetImageMetadata(const char *path, char *name) { ExifData *ed; ExifEntry *e = NULL; @@ -593,8 +594,8 @@ GetImageMetadata(const char * path, char * name) char make[32], model[64] = {'\0'}; char b[1024]; struct stat file; - sqlite_int64 ret; - image_s * imsrc; + int64_t ret; + image_s *imsrc; metadata_t m; uint32_t free_flags = 0xFFFFFFFF; memset(&m, '\0', sizeof(metadata_t)); @@ -752,8 +753,8 @@ no_exifdata: return ret; } -sqlite_int64 -GetVideoMetadata(const char * path, char * name) +int64_t +GetVideoMetadata(const char *path, char *name) { struct stat file; int ret, i; @@ -763,7 +764,7 @@ GetVideoMetadata(const char * path, char * name) int audio_stream = -1, video_stream = -1; enum audio_profiles audio_profile = PROFILE_AUDIO_UNKNOWN; char fourcc[4]; - sqlite_int64 album_art = 0; + int64_t album_art = 0; char nfo[MAXPATHLEN], *ext; struct song_metadata video; metadata_t m; diff --git a/metadata.h b/metadata.h index 89e55ad..6c62a5d 100644 --- a/metadata.h +++ b/metadata.h @@ -80,24 +80,24 @@ typedef enum { } ts_timestamp_t; int -ends_with(const char * haystack, const char * needle); +ends_with(const char *haystack, const char *needle); char * -modifyString(char * string, const char * before, const char * after, short like); +modifyString(char *string, const char *before, const char *after, short like); void -check_for_captions(const char * path, sqlite_int64 detailID); +check_for_captions(const char *path, int64_t detailID); -sqlite_int64 -GetFolderMetadata(const char * name, const char * path, const char * artist, const char * genre, sqlite_int64 album_art); +int64_t +GetFolderMetadata(const char *name, const char *path, const char *artist, const char *genre, int64_t album_art); -sqlite_int64 -GetAudioMetadata(const char * path, char * name); +int64_t +GetAudioMetadata(const char *path, char *name); -sqlite_int64 -GetImageMetadata(const char * path, char * name); +int64_t +GetImageMetadata(const char *path, char *name); -sqlite_int64 -GetVideoMetadata(const char * path, char * name); +int64_t +GetVideoMetadata(const char *path, char *name); #endif diff --git a/minissdp.c b/minissdp.c index 81ae23e..d16e47d 100644 --- a/minissdp.c +++ b/minissdp.c @@ -29,6 +29,8 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" + #include #include #include @@ -40,7 +42,6 @@ #include #include -#include "config.h" #include "upnpdescstrings.h" #include "minidlnapath.h" #include "upnphttp.h" diff --git a/playlist.c b/playlist.c index 6215fa1..7f89d5a 100644 --- a/playlist.c +++ b/playlist.c @@ -119,7 +119,7 @@ fill_playlists() struct song_metadata plist; struct stat file; char type[4]; - sqlite_int64 plID, detailID; + int64_t plID, detailID; char sql_buf[] = "SELECT ID, NAME, PATH from PLAYLISTS where ITEMS > FOUND"; DPRINTF(E_WARN, L_SCANNER, "Parsing playlists...\n"); diff --git a/scanner.c b/scanner.c index 8c7be5c..3fd2fc0 100644 --- a/scanner.c +++ b/scanner.c @@ -85,16 +85,16 @@ int valid_cache = 0; struct virtual_item { - sqlite_int64 objectID; + int64_t objectID; char parentID[64]; char name[256]; }; -sqlite_int64 -get_next_available_id(const char * table, const char * parentID) +int64_t +get_next_available_id(const char *table, const char *parentID) { char *ret, *base; - sqlite_int64 objectID = 0; + int64_t objectID = 0; ret = sql_get_text_field(db, "SELECT OBJECT_ID from %s where ID = " "(SELECT max(ID) from %s where PARENT_ID = '%s')", @@ -111,8 +111,8 @@ get_next_available_id(const char * table, const char * parentID) } int -insert_container(const char * item, const char * rootParent, const char * refID, const char *class, - const char *artist, const char *genre, const char *album_art, sqlite_int64 *objectID, sqlite_int64 *parentID) +insert_container(const char *item, const char *rootParent, const char *refID, const char *class, + const char *artist, const char *genre, const char *album_art, int64_t *objectID, int64_t *parentID) { char *result; char *base; @@ -136,7 +136,7 @@ insert_container(const char * item, const char * rootParent, const char * refID, } else { - sqlite_int64 detailID = 0; + int64_t detailID = 0; *objectID = 0; *parentID = get_next_available_id("OBJECTS", rootParent); if( refID ) @@ -153,7 +153,8 @@ insert_container(const char * item, const char * rootParent, const char * refID, " (OBJECT_ID, PARENT_ID, REF_ID, DETAIL_ID, CLASS, NAME) " "VALUES" " ('%s$%llX', '%s', %Q, %lld, 'container.%s', '%q')", - rootParent, *parentID, rootParent, refID, detailID, class, item); + rootParent, (long long)*parentID, rootParent, + refID, (long long)detailID, class, item); } sqlite3_free(result); @@ -161,13 +162,13 @@ insert_container(const char * item, const char * rootParent, const char * refID, } static void -insert_containers(const char * name, const char *path, const char * refID, const char * class, sqlite_int64 detailID) +insert_containers(const char *name, const char *path, const char *refID, const char *class, int64_t detailID) { char sql[128]; char **result; int ret; int cols, row; - sqlite_int64 objectID, parentID; + int64_t objectID, parentID; if( strstr(class, "imageItem") ) { @@ -175,9 +176,9 @@ insert_containers(const char * name, const char *path, const char * refID, const static struct virtual_item last_date; static struct virtual_item last_cam; static struct virtual_item last_camdate; - static sqlite_int64 last_all_objectID = 0; + static long long last_all_objectID = 0; - snprintf(sql, sizeof(sql), "SELECT DATE, CREATOR from DETAILS where ID = %lld", detailID); + snprintf(sql, sizeof(sql), "SELECT DATE, CREATOR from DETAILS where ID = %lld", (long long)detailID); ret = sql_get_table(db, sql, &result, &row, &cols); if( ret == SQLITE_OK ) { @@ -199,7 +200,7 @@ insert_containers(const char * name, const char *path, const char * refID, const else { insert_container(date_taken, IMAGE_DATE_ID, NULL, "album.photoAlbum", NULL, NULL, NULL, &objectID, &parentID); - sprintf(last_date.parentID, IMAGE_DATE_ID"$%llX", parentID); + sprintf(last_date.parentID, IMAGE_DATE_ID"$%llX", (unsigned long long)parentID); last_date.objectID = objectID; strncpyt(last_date.name, date_taken, sizeof(last_date.name)); //DEBUG DPRINTF(E_DEBUG, L_SCANNER, "Creating cached date item: %s/%s/%X\n", last_date.name, last_date.parentID, last_date.objectID); @@ -208,12 +209,12 @@ insert_containers(const char * name, const char *path, const char * refID, const " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('%s$%llX', '%s', '%s', '%s', %lld, %Q)", - last_date.parentID, last_date.objectID, last_date.parentID, refID, class, detailID, name); + last_date.parentID, (long long)last_date.objectID, last_date.parentID, refID, class, (long long)detailID, name); if( !valid_cache || strcmp(camera, last_cam.name) != 0 ) { insert_container(camera, IMAGE_CAMERA_ID, NULL, "storageFolder", NULL, NULL, NULL, &objectID, &parentID); - sprintf(last_cam.parentID, IMAGE_CAMERA_ID"$%llX", parentID); + sprintf(last_cam.parentID, IMAGE_CAMERA_ID"$%llX", (long long)parentID); strncpyt(last_cam.name, camera, sizeof(last_cam.name)); /* Invalidate last_camdate cache */ last_camdate.name[0] = '\0'; @@ -226,7 +227,7 @@ insert_containers(const char * name, const char *path, const char * refID, const else { insert_container(date_taken, last_cam.parentID, NULL, "album.photoAlbum", NULL, NULL, NULL, &objectID, &parentID); - sprintf(last_camdate.parentID, "%s$%llX", last_cam.parentID, parentID); + sprintf(last_camdate.parentID, "%s$%llX", last_cam.parentID, (long long)parentID); last_camdate.objectID = objectID; strncpyt(last_camdate.name, date_taken, sizeof(last_camdate.name)); //DEBUG DPRINTF(E_DEBUG, L_SCANNER, "Creating cached camdate item: %s/%s/%s/%X\n", camera, last_camdate.name, last_camdate.parentID, last_camdate.objectID); @@ -235,7 +236,7 @@ insert_containers(const char * name, const char *path, const char * refID, const " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('%s$%llX', '%s', '%s', '%s', %lld, %Q)", - last_camdate.parentID, last_camdate.objectID, last_camdate.parentID, refID, class, detailID, name); + last_camdate.parentID, last_camdate.objectID, last_camdate.parentID, refID, class, (long long)detailID, name); /* All Images */ if( !last_all_objectID ) { @@ -245,11 +246,11 @@ insert_containers(const char * name, const char *path, const char * refID, const " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('"IMAGE_ALL_ID"$%llX', '"IMAGE_ALL_ID"', '%s', '%s', %lld, %Q)", - last_all_objectID++, refID, class, detailID, name); + last_all_objectID++, refID, class, (long long)detailID, name); } else if( strstr(class, "audioItem") ) { - snprintf(sql, sizeof(sql), "SELECT ALBUM, ARTIST, GENRE, ALBUM_ART from DETAILS where ID = %lld", detailID); + snprintf(sql, sizeof(sql), "SELECT ALBUM, ARTIST, GENRE, ALBUM_ART from DETAILS where ID = %lld", (long long)detailID); ret = sql_get_table(db, sql, &result, &row, &cols); if( ret != SQLITE_OK ) return; @@ -267,7 +268,7 @@ insert_containers(const char * name, const char *path, const char * refID, const static struct virtual_item last_genre; static struct virtual_item last_genreArtist; static struct virtual_item last_genreArtistAll; - static sqlite_int64 last_all_objectID = 0; + static long long last_all_objectID = 0; if( album ) { @@ -280,7 +281,7 @@ insert_containers(const char * name, const char *path, const char * refID, const { strncpyt(last_album.name, album, sizeof(last_album.name)); insert_container(album, MUSIC_ALBUM_ID, NULL, "album.musicAlbum", artist, genre, album_art, &objectID, &parentID); - sprintf(last_album.parentID, MUSIC_ALBUM_ID"$%llX", parentID); + sprintf(last_album.parentID, MUSIC_ALBUM_ID"$%llX", (long long)parentID); last_album.objectID = objectID; //DEBUG DPRINTF(E_DEBUG, L_SCANNER, "Creating cached album item: %s/%s/%X\n", last_album.name, last_album.parentID, last_album.objectID); } @@ -288,19 +289,19 @@ insert_containers(const char * name, const char *path, const char * refID, const " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('%s$%llX', '%s', '%s', '%s', %lld, %Q)", - last_album.parentID, last_album.objectID, last_album.parentID, refID, class, detailID, name); + last_album.parentID, last_album.objectID, last_album.parentID, refID, class, (long long)detailID, name); } if( artist ) { if( !valid_cache || strcmp(artist, last_artist.name) != 0 ) { insert_container(artist, MUSIC_ARTIST_ID, NULL, "person.musicArtist", NULL, genre, NULL, &objectID, &parentID); - sprintf(last_artist.parentID, MUSIC_ARTIST_ID"$%llX", parentID); + sprintf(last_artist.parentID, MUSIC_ARTIST_ID"$%llX", (long long)parentID); strncpyt(last_artist.name, artist, sizeof(last_artist.name)); last_artistAlbum.name[0] = '\0'; /* Add this file to the "- All Albums -" container as well */ insert_container(_("- All Albums -"), last_artist.parentID, NULL, "album", artist, genre, NULL, &objectID, &parentID); - sprintf(last_artistAlbumAll.parentID, "%s$%llX", last_artist.parentID, parentID); + sprintf(last_artistAlbumAll.parentID, "%s$%llX", last_artist.parentID, (long long)parentID); last_artistAlbumAll.objectID = objectID; } else @@ -316,7 +317,7 @@ insert_containers(const char * name, const char *path, const char * refID, const { insert_container(album?album:_("Unknown Album"), last_artist.parentID, album?last_album.parentID:NULL, "album.musicAlbum", artist, genre, album_art, &objectID, &parentID); - sprintf(last_artistAlbum.parentID, "%s$%llX", last_artist.parentID, parentID); + sprintf(last_artistAlbum.parentID, "%s$%llX", last_artist.parentID, (long long)parentID); last_artistAlbum.objectID = objectID; strncpyt(last_artistAlbum.name, album ? album : _("Unknown Album"), sizeof(last_artistAlbum.name)); //DEBUG DPRINTF(E_DEBUG, L_SCANNER, "Creating cached artist/album item: %s/%s/%X\n", last_artist.name, last_artist.parentID, last_artist.objectID); @@ -325,23 +326,23 @@ insert_containers(const char * name, const char *path, const char * refID, const " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('%s$%llX', '%s', '%s', '%s', %lld, %Q)", - last_artistAlbum.parentID, last_artistAlbum.objectID, last_artistAlbum.parentID, refID, class, detailID, name); + last_artistAlbum.parentID, last_artistAlbum.objectID, last_artistAlbum.parentID, refID, class, (long long)detailID, name); sql_exec(db, "INSERT into OBJECTS" " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('%s$%llX', '%s', '%s', '%s', %lld, %Q)", - last_artistAlbumAll.parentID, last_artistAlbumAll.objectID, last_artistAlbumAll.parentID, refID, class, detailID, name); + last_artistAlbumAll.parentID, last_artistAlbumAll.objectID, last_artistAlbumAll.parentID, refID, class, (long long)detailID, name); } if( genre ) { if( !valid_cache || strcmp(genre, last_genre.name) != 0 ) { insert_container(genre, MUSIC_GENRE_ID, NULL, "genre.musicGenre", NULL, NULL, NULL, &objectID, &parentID); - sprintf(last_genre.parentID, MUSIC_GENRE_ID"$%llX", parentID); + sprintf(last_genre.parentID, MUSIC_GENRE_ID"$%llX", (long long)parentID); strncpyt(last_genre.name, genre, sizeof(last_genre.name)); /* Add this file to the "- All Artists -" container as well */ insert_container(_("- All Artists -"), last_genre.parentID, NULL, "person", NULL, genre, NULL, &objectID, &parentID); - sprintf(last_genreArtistAll.parentID, "%s$%llX", last_genre.parentID, parentID); + sprintf(last_genreArtistAll.parentID, "%s$%llX", last_genre.parentID, (long long)parentID); last_genreArtistAll.objectID = objectID; } else @@ -356,7 +357,7 @@ insert_containers(const char * name, const char *path, const char * refID, const { insert_container(artist?artist:_("Unknown Artist"), last_genre.parentID, artist?last_artist.parentID:NULL, "person.musicArtist", NULL, genre, NULL, &objectID, &parentID); - sprintf(last_genreArtist.parentID, "%s$%llX", last_genre.parentID, parentID); + sprintf(last_genreArtist.parentID, "%s$%llX", last_genre.parentID, (long long)parentID); last_genreArtist.objectID = objectID; strncpyt(last_genreArtist.name, artist ? artist : _("Unknown Artist"), sizeof(last_genreArtist.name)); //DEBUG DPRINTF(E_DEBUG, L_SCANNER, "Creating cached genre/artist item: %s/%s/%X\n", last_genreArtist.name, last_genreArtist.parentID, last_genreArtist.objectID); @@ -365,12 +366,12 @@ insert_containers(const char * name, const char *path, const char * refID, const " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('%s$%llX', '%s', '%s', '%s', %lld, %Q)", - last_genreArtist.parentID, last_genreArtist.objectID, last_genreArtist.parentID, refID, class, detailID, name); + last_genreArtist.parentID, last_genreArtist.objectID, last_genreArtist.parentID, refID, class, (long long)detailID, name); sql_exec(db, "INSERT into OBJECTS" " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('%s$%llX', '%s', '%s', '%s', %lld, %Q)", - last_genreArtistAll.parentID, last_genreArtistAll.objectID, last_genreArtistAll.parentID, refID, class, detailID, name); + last_genreArtistAll.parentID, last_genreArtistAll.objectID, last_genreArtistAll.parentID, refID, class, (long long)detailID, name); } /* All Music */ if( !last_all_objectID ) @@ -381,11 +382,11 @@ insert_containers(const char * name, const char *path, const char * refID, const " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('"MUSIC_ALL_ID"$%llX', '"MUSIC_ALL_ID"', '%s', '%s', %lld, %Q)", - last_all_objectID++, refID, class, detailID, name); + last_all_objectID++, refID, class, (long long)detailID, name); } else if( strstr(class, "videoItem") ) { - static sqlite_int64 last_all_objectID = 0; + static long long last_all_objectID = 0; /* All Videos */ if( !last_all_objectID ) @@ -396,7 +397,7 @@ insert_containers(const char * name, const char *path, const char * refID, const " (OBJECT_ID, PARENT_ID, REF_ID, CLASS, DETAIL_ID, NAME) " "VALUES" " ('"VIDEO_ALL_ID"$%llX', '"VIDEO_ALL_ID"', '%s', '%s', %lld, %Q)", - last_all_objectID++, refID, class, detailID, name); + last_all_objectID++, refID, class, (long long)detailID, name); return; } else @@ -408,9 +409,9 @@ insert_containers(const char * name, const char *path, const char * refID, const } int -insert_directory(const char * name, const char * path, const char * base, const char * parentID, int objectID) +insert_directory(const char *name, const char *path, const char *base, const char *parentID, int objectID) { - sqlite_int64 detailID = 0; + int64_t detailID = 0; char class[] = "container.storageFolder"; char *result, *p; static char last_found[256] = "-1"; @@ -469,15 +470,15 @@ insert_directory(const char * name, const char * path, const char * base, const } int -insert_file(char * name, const char * path, const char * parentID, int object) +insert_file(char *name, const char *path, const char *parentID, int object) { char class[32]; char objectID[64]; - sqlite_int64 detailID = 0; + int64_t detailID = 0; char base[8]; - char * typedir_parentID; - char * baseid; - char * orig_name = NULL; + char *typedir_parentID; + char *baseid; + char *orig_name = NULL; if( is_image(name) ) { @@ -549,26 +550,26 @@ int CreateDatabase(void) { int ret, i; - const char * containers[] = { "0","-1", "root", - MUSIC_ID, "0", _("Music"), - MUSIC_ALL_ID, MUSIC_ID, _("All Music"), - MUSIC_GENRE_ID, MUSIC_ID, _("Genre"), - MUSIC_ARTIST_ID, MUSIC_ID, _("Artist"), - MUSIC_ALBUM_ID, MUSIC_ID, _("Album"), - MUSIC_DIR_ID, MUSIC_ID, _("Folders"), - MUSIC_PLIST_ID, MUSIC_ID, _("Playlists"), + const char *containers[] = { "0","-1", "root", + MUSIC_ID, "0", _("Music"), + MUSIC_ALL_ID, MUSIC_ID, _("All Music"), + MUSIC_GENRE_ID, MUSIC_ID, _("Genre"), + MUSIC_ARTIST_ID, MUSIC_ID, _("Artist"), + MUSIC_ALBUM_ID, MUSIC_ID, _("Album"), + MUSIC_DIR_ID, MUSIC_ID, _("Folders"), + MUSIC_PLIST_ID, MUSIC_ID, _("Playlists"), - VIDEO_ID, "0", _("Video"), - VIDEO_ALL_ID, VIDEO_ID, _("All Video"), - VIDEO_DIR_ID, VIDEO_ID, _("Folders"), + VIDEO_ID, "0", _("Video"), + VIDEO_ALL_ID, VIDEO_ID, _("All Video"), + VIDEO_DIR_ID, VIDEO_ID, _("Folders"), - IMAGE_ID, "0", _("Pictures"), - IMAGE_ALL_ID, IMAGE_ID, _("All Pictures"), - IMAGE_DATE_ID, IMAGE_ID, _("Date Taken"), - IMAGE_CAMERA_ID, IMAGE_ID, _("Camera"), - IMAGE_DIR_ID, IMAGE_ID, _("Folders"), + IMAGE_ID, "0", _("Pictures"), + IMAGE_ALL_ID, IMAGE_ID, _("All Pictures"), + IMAGE_DATE_ID, IMAGE_ID, _("Date Taken"), + IMAGE_CAMERA_ID, IMAGE_ID, _("Camera"), + IMAGE_DIR_ID, IMAGE_ID, _("Folders"), - BROWSEDIR_ID, "0", _("Browse Folders"), + BROWSEDIR_ID, "0", _("Browse Folders"), 0 }; ret = sql_exec(db, create_objectTable_sqlite); @@ -674,13 +675,13 @@ filter_media(scan_filter *d) } void -ScanDirectory(const char * dir, const char * parent, enum media_types dir_type) +ScanDirectory(const char *dir, const char *parent, enum media_types dir_type) { struct dirent **namelist; int i, n, startID=0; char parent_id[PATH_MAX]; char full_path[PATH_MAX]; - char * name = NULL; + char *name = NULL; static long long unsigned int fileno = 0; enum file_types type; @@ -760,14 +761,14 @@ ScanDirectory(const char * dir, const char * parent, enum media_types dir_type) void start_scanner() { - struct media_dir_s * media_path = media_dirs; + struct media_dir_s *media_path = media_dirs; char name[MAXPATHLEN]; if (setpriority(PRIO_PROCESS, 0, 15) == -1) DPRINTF(E_WARN, L_INOTIFY, "Failed to reduce scanner thread priority\n"); #ifdef READYNAS - FILE * flag = fopen("/ramfs/.upnp-av_scan", "w"); + FILE *flag = fopen("/ramfs/.upnp-av_scan", "w"); if( flag ) fclose(flag); #endif diff --git a/scanner.h b/scanner.h index a57eedd..f194fac 100644 --- a/scanner.h +++ b/scanner.h @@ -60,22 +60,22 @@ extern int valid_cache; int -is_video(const char * file); +is_video(const char *file); int -is_audio(const char * file); +is_audio(const char *file); int -is_image(const char * file); +is_image(const char *file); -sqlite_int64 -get_next_available_id(const char * table, const char * parentID); +int64_t +get_next_available_id(const char *table, const char *parentID); int -insert_directory(const char * name, const char * path, const char * base, const char * parentID, int objectID); +insert_directory(const char *name, const char *path, const char *base, const char *parentID, int objectID); int -insert_file(char * name, const char * path, const char * parentID, int object); +insert_file(char *name, const char *path, const char *parentID, int object); int CreateDatabase(void); diff --git a/tivo_commands.c b/tivo_commands.c index 5d6723e..739b5dc 100644 --- a/tivo_commands.c +++ b/tivo_commands.c @@ -32,10 +32,10 @@ #include "sql.h" #include "log.h" -void -SendRootContainer(struct upnphttp * h) +static void +SendRootContainer(struct upnphttp *h) { - char * resp; + char *resp; int len; len = xasprintf(&resp, "\n" @@ -93,8 +93,8 @@ SendRootContainer(struct upnphttp * h) SendResp_upnphttp(h); } -char * -unescape_tag(char * tag) +static char * +unescape_tag(char *tag) { modifyString(tag, "&amp;", "&", 0); modifyString(tag, "&amp;lt;", "<", 0); @@ -107,7 +107,8 @@ unescape_tag(char * tag) #define FLAG_SEND_RESIZED 0x01 #define FLAG_NO_PARAMS 0x02 #define FLAG_VIDEO 0x04 -int callback(void *args, int argc, char **argv, char **azColName) +static int +callback(void *args, int argc, char **argv, char **azColName) { struct Response *passed_args = (struct Response *)args; char *id = argv[0], *class = argv[1], *detailID = argv[2], *size = argv[3], *title = argv[4], *duration = argv[5], @@ -275,8 +276,8 @@ int callback(void *args, int argc, char **argv, char **azColName) " d.DURATION, d.BITRATE, d.SAMPLERATE, d.ARTIST, d.ALBUM, d.GENRE," \ " d.COMMENT, d.DATE, d.RESOLUTION, d.MIME, d.PATH, d.DISC, d.TRACK " -void -SendItemDetails(struct upnphttp * h, sqlite_int64 item) +static void +SendItemDetails(struct upnphttp *h, int64_t item) { char *sql; char *zErrMsg = NULL; @@ -309,9 +310,9 @@ SendItemDetails(struct upnphttp * h, sqlite_int64 item) SendResp_upnphttp(h); } -void -SendContainer(struct upnphttp * h, const char * objectID, int itemStart, int itemCount, char * anchorItem, - int anchorOffset, int recurse, char * sortOrder, char * filter, unsigned long int randomSeed) +static void +SendContainer(struct upnphttp *h, const char *objectID, int itemStart, int itemCount, char *anchorItem, + int anchorOffset, int recurse, char *sortOrder, char *filter, unsigned long int randomSeed) { char *resp = malloc(262144); char *sql, *item, *saveptr; @@ -645,14 +646,14 @@ SendContainer(struct upnphttp * h, const char * objectID, int itemStart, int ite } void -ProcessTiVoCommand(struct upnphttp * h, const char * orig_path) +ProcessTiVoCommand(struct upnphttp *h, const char *orig_path) { char *path; char *key, *val; char *saveptr = NULL, *item; char *command = NULL, *container = NULL, *anchorItem = NULL; char *sortOrder = NULL, *filter = NULL; - sqlite_int64 detailItem=0; + int64_t detailItem=0; int itemStart=0, itemCount=-100, anchorOffset=0, recurse=0; unsigned long int randomSeed=0; diff --git a/tivo_commands.h b/tivo_commands.h index 40ba4f0..f94fc0f 100644 --- a/tivo_commands.h +++ b/tivo_commands.h @@ -25,6 +25,6 @@ #ifdef TIVO_SUPPORT void -ProcessTiVoCommand(struct upnphttp * h, const char * orig_path); +ProcessTiVoCommand(struct upnphttp *h, const char *orig_path); #endif diff --git a/tivo_utils.c b/tivo_utils.c index aed424a..13c32f8 100644 --- a/tivo_utils.c +++ b/tivo_utils.c @@ -26,12 +26,12 @@ /* This function based on byRequest */ char * -decodeString(char * string, int inplace) +decodeString(char *string, int inplace) { if( !string ) return NULL; int alloc = (int)strlen(string)+1; - char * ns = NULL; + char *ns = NULL; unsigned char in; int strindex=0; long hex; @@ -132,7 +132,7 @@ seedRandomness(int n, void *pbuf, uint32_t seed) void TiVoRandomSeedFunc(sqlite3_context *context, int argc, sqlite3_value **argv) { - sqlite_int64 r, seed; + int64_t r, seed; if( argc != 1 || sqlite3_value_type(argv[0]) != SQLITE_INTEGER ) return; diff --git a/tivo_utils.h b/tivo_utils.h index 2f40d3c..d4d3462 100644 --- a/tivo_utils.h +++ b/tivo_utils.h @@ -32,7 +32,7 @@ struct sqlite3PrngType { } sqlite3Prng; char * -decodeString(char * string, int inplace); +decodeString(char *string, int inplace); void TiVoRandomSeedFunc(sqlite3_context *context, int argc, sqlite3_value **argv); diff --git a/upnpevents.c b/upnpevents.c index 85be96c..100a73d 100644 --- a/upnpevents.c +++ b/upnpevents.c @@ -45,6 +45,8 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" + #include #include #include @@ -60,7 +62,6 @@ #include #include -#include "config.h" #include "upnpevents.h" #include "minidlnapath.h" #include "upnpglobalvars.h" diff --git a/upnphttp.c b/upnphttp.c index f27cd1e..4165af7 100644 --- a/upnphttp.c +++ b/upnphttp.c @@ -1631,13 +1631,13 @@ SendResp_resizedimg(struct upnphttp * h, char * object) int rotate; /* Not implemented yet * char *pixelshape=NULL; */ - sqlite_int64 id; + int64_t id; int rows=0, chunked, ret; image_s *imsrc = NULL, *imdst = NULL; int scale = 1; id = strtoll(object, &saveptr, 10); - snprintf(buf, sizeof(buf), "SELECT PATH, RESOLUTION, ROTATION from DETAILS where ID = '%lld'", id); + snprintf(buf, sizeof(buf), "SELECT PATH, RESOLUTION, ROTATION from DETAILS where ID = '%lld'", (long long)id); ret = sql_get_table(db, buf, &result, &rows, NULL); if( (ret != SQLITE_OK) ) { @@ -1849,10 +1849,10 @@ SendResp_dlnafile(struct upnphttp * h, char * object) char date[30]; time_t curtime = time(NULL); off_t total, offset, size; - sqlite_int64 id; + int64_t id; int sendfh; uint32_t dlna_flags = DLNA_FLAG_DLNA_V1_5|DLNA_FLAG_HTTP_STALLING|DLNA_FLAG_TM_B; - static struct { sqlite_int64 id; + static struct { int64_t id; enum client_types client; char path[PATH_MAX]; char mime[32]; @@ -1876,7 +1876,7 @@ SendResp_dlnafile(struct upnphttp * h, char * object) } if( id != last_file.id || h->req_client != last_file.client ) { - snprintf(buf, sizeof(buf), "SELECT PATH, MIME, DLNA_PN from DETAILS where ID = '%lld'", id); + snprintf(buf, sizeof(buf), "SELECT PATH, MIME, DLNA_PN from DETAILS where ID = '%lld'", (long long)id); ret = sql_get_table(db, buf, &result, &rows, NULL); if( (ret != SQLITE_OK) ) { diff --git a/upnpsoap.c b/upnpsoap.c index 94d6b32..1cd10da 100644 --- a/upnpsoap.c +++ b/upnpsoap.c @@ -46,6 +46,8 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" + #include #include #include @@ -59,7 +61,6 @@ #include #include -#include "config.h" #include "upnpglobalvars.h" #include "utils.h" #include "upnphttp.h" diff --git a/utils.c b/utils.c index de3d509..76ddc51 100644 --- a/utils.c +++ b/utils.c @@ -15,6 +15,8 @@ * You should have received a copy of the GNU General Public License * along with MiniDLNA. If not, see . */ +#include "config.h" + #include #include #include