The function pointer declarations in dvd_input.{h,c} are redundant. This
patch puts them only in the header and makes it so extern is not used
internally in the C file.

E

-- 
Erik Hovland
mail: [EMAIL PROTECTED]
web: http://hovland.org/
PGP/GPG public key available on request
Remove duplicate code in dvd_input.{h,c}

From: Erik Hovland <[EMAIL PROTECTED]>


---

 src/dvd_input.c |   11 ++---------
 src/dvd_input.h |   17 +++++++++++------
 2 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/src/dvd_input.c b/src/dvd_input.c
index d55aac7..63ee69f 100644
--- a/src/dvd_input.c
+++ b/src/dvd_input.c
@@ -25,16 +25,9 @@
 #include <unistd.h>
 
 #include "dvd_reader.h"
+#define DVDINPUT_INTERNAL
 #include "dvd_input.h"
-
-
-/* The function pointers that is the exported interface of this file. */
-dvd_input_t (*dvdinput_open)  (const char *);
-int         (*dvdinput_close) (dvd_input_t);
-int         (*dvdinput_seek)  (dvd_input_t, int);
-int         (*dvdinput_title) (dvd_input_t, int); 
-int         (*dvdinput_read)  (dvd_input_t, void *, int, int);
-char *      (*dvdinput_error) (dvd_input_t);
+#undef DVDINPUT_INTERNAL
 
 #ifdef HAVE_DVDCSS_DVDCSS_H
 /* linking to libdvdcss */
diff --git a/src/dvd_input.h b/src/dvd_input.h
index e9e8491..fae498f 100644
--- a/src/dvd_input.h
+++ b/src/dvd_input.h
@@ -29,15 +29,20 @@
 
 typedef struct dvd_input_s *dvd_input_t;
 
+#ifdef DVDINPUT_INTERNAL
+#define DVDINPUT_EXTERN
+#else
+#define DVDINPUT_EXTERN extern
+#endif
 /**
  * Pointers which will be filled either the input methods functions.
  */
-extern dvd_input_t (*dvdinput_open)  (const char *);
-extern int         (*dvdinput_close) (dvd_input_t);
-extern int         (*dvdinput_seek)  (dvd_input_t, int);
-extern int         (*dvdinput_title) (dvd_input_t, int); 
-extern int         (*dvdinput_read)  (dvd_input_t, void *, int, int);
-extern char *      (*dvdinput_error) (dvd_input_t);
+DVDINPUT_EXTERN dvd_input_t (*dvdinput_open)  (const char *);
+DVDINPUT_EXTERN int         (*dvdinput_close) (dvd_input_t);
+DVDINPUT_EXTERN int         (*dvdinput_seek)  (dvd_input_t, int);
+DVDINPUT_EXTERN int         (*dvdinput_title) (dvd_input_t, int); 
+DVDINPUT_EXTERN int         (*dvdinput_read)  (dvd_input_t, void *, int, int);
+DVDINPUT_EXTERN char *      (*dvdinput_error) (dvd_input_t);
 
 /**
  * Setup function accessed by dvd_reader.c.  Returns 1 if there is CSS support.
_______________________________________________
DVDnav-discuss mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/dvdnav-discuss

Reply via email to