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