[SCM] libav/experimental: Remove size_t cast in setting s->priv_data directly to the (integer) file descriptor returned by open(). This removes some dubious doublecasts such as priv_data = (void *) (size_t) some_integer, and is always safe on systems we care about because sizeof(int)<=sizeof(void*). See comments from Mans and Michael in "[RFC] rtsp.c EOF support" thread.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:40:23 UTC 2013


The following commit has been merged in the experimental branch:
commit f989d397529cc86c25dfd8992e865ddd76ecf1dd
Author: Ronald S. Bultje <rsbultje at gmail.com>
Date:   Tue Mar 3 13:57:09 2009 +0000

    Remove size_t cast in setting s->priv_data directly to the (integer) file
    descriptor returned by open(). This removes some dubious doublecasts such
    as priv_data = (void *) (size_t) some_integer, and is always safe on systems
    we care about because sizeof(int)<=sizeof(void*). See comments from Mans and
    Michael in "[RFC] rtsp.c EOF support" thread.
    
    Originally committed as revision 17768 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/file.c b/libavformat/file.c
index 88ac4db..cdf0b08 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -53,32 +53,32 @@ static int file_open(URLContext *h, const char *filename, int flags)
     fd = open(filename, access, 0666);
     if (fd < 0)
         return AVERROR(ENOENT);
-    h->priv_data = (void *)(size_t)fd;
+    h->priv_data = (void *) fd;
     return 0;
 }
 
 static int file_read(URLContext *h, unsigned char *buf, int size)
 {
-    int fd = (size_t)h->priv_data;
+    int fd = (int) h->priv_data;
     return read(fd, buf, size);
 }
 
 static int file_write(URLContext *h, unsigned char *buf, int size)
 {
-    int fd = (size_t)h->priv_data;
+    int fd = (int) h->priv_data;
     return write(fd, buf, size);
 }
 
 /* XXX: use llseek */
 static int64_t file_seek(URLContext *h, int64_t pos, int whence)
 {
-    int fd = (size_t)h->priv_data;
+    int fd = (int) h->priv_data;
     return lseek(fd, pos, whence);
 }
 
 static int file_close(URLContext *h)
 {
-    int fd = (size_t)h->priv_data;
+    int fd = (int) h->priv_data;
     return close(fd);
 }
 
@@ -110,7 +110,7 @@ static int pipe_open(URLContext *h, const char *filename, int flags)
 #if HAVE_SETMODE
     setmode(fd, O_BINARY);
 #endif
-    h->priv_data = (void *)(size_t)fd;
+    h->priv_data = (void *) fd;
     h->is_streamed = 1;
     return 0;
 }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list