From f92b4ab20df2f2515ac2939718049167595f774d Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 3 Sep 2014 15:17:33 +0000
Subject: haiku patch


diff --git a/src/bswap.h b/src/bswap.h
index 44c2862..0dd4687 100644
--- a/src/bswap.h
+++ b/src/bswap.h
@@ -85,7 +85,7 @@
  * functionality!
  */
 
-#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__) || defined(__BEOS__) || defined(__OS2__)
+#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__) || defined(__BEOS__) || defined(__OS2__)|| defined(__HAIKU__)
 #define B2N_16(x)                             \
  x = ((((x) & 0xff00) >> 8) |                 \
       (((x) & 0x00ff) << 8))
diff --git a/src/dvd_reader.c b/src/dvd_reader.c
index 3da9633..5d065a6 100644
--- a/src/dvd_reader.c
+++ b/src/dvd_reader.c
@@ -1460,6 +1460,7 @@ int DVDDiscID( dvd_reader_t *dvd, unsigned char *discid )
   for( title = 0; title < title_sets; title++ ) {
     dvd_file_t *dvd_file = DVDOpenFile( dvd, title, DVD_READ_INFO_FILE );
     if( dvd_file != NULL ) {
+      char *buffer;
       ssize_t bytes_read;
       ssize_t file_size = dvd_file->filesize * DVD_VIDEO_LB_LEN;
       char *buffer_base = malloc( file_size + 2048 );
@@ -1471,7 +1472,7 @@ int DVDDiscID( dvd_reader_t *dvd, unsigned char *discid )
           return -1;
       }
 
-      char *buffer = (char *)(((uintptr_t)buffer_base & ~((uintptr_t)2047)) + 2048);
+      buffer = (char *)(((uintptr_t)buffer_base & ~((uintptr_t)2047)) + 2048);
 
       bytes_read = DVDReadBytes( dvd_file, buffer, file_size );
       if( bytes_read != file_size ) {
-- 
1.8.3.4

