summaryrefslogtreecommitdiff
path: root/homebrew/cddiscid/patches.sh
diff options
context:
space:
mode:
Diffstat (limited to 'homebrew/cddiscid/patches.sh')
-rwxr-xr-xhomebrew/cddiscid/patches.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/homebrew/cddiscid/patches.sh b/homebrew/cddiscid/patches.sh
new file mode 100755
index 000000000..40d8e7d44
--- /dev/null
+++ b/homebrew/cddiscid/patches.sh
@@ -0,0 +1,41 @@
+echo 'Creating brew-patch.diff'
+cat << EOF >> brew-patch.diff
+diff --git a/cd-discid.c b/cd-discid.c
+index 9b0b40a..2c96641 100644
+--- a/cd-discid.c
++++ b/cd-discid.c
+@@ -93,7 +93,7 @@
+ #define cdth_trk1 lastTrackNumberInLastSessionLSB
+ #define cdrom_tocentry CDTrackInfo
+ #define cdte_track_address trackStartAddress
+-#define DEVICE_NAME "/dev/disk1"
++#define DEVICE_NAME "/dev/rdisk1"
+
+ #else
+ #error "Your OS isn't supported yet."
+@@ -236,8 +236,7 @@ int main(int argc, char *argv[])
+ * TocEntry[last-1].lastRecordedAddress + 1, so we compute the start
+ * of leadout from the start+length of the last track instead
+ */
+- TocEntry[last].cdte_track_address = TocEntry[last - 1].trackSize +
+- TocEntry[last - 1].trackStartAddress;
++TocEntry[last].cdte_track_address = htonl(ntohl(TocEntry[last-1].trackSize) + ntohl(TocEntry[last-1].trackStartAddress));
+ #else /* FreeBSD, Linux, Solaris */
+ for (i = 0; i < last; i++) {
+ /* tracks start with 1, but I must start with 0 on OpenBSD */
+@@ -260,12 +259,12 @@ int main(int argc, char *argv[])
+ /* release file handle */
+ close(drive);
+
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__)
+ TocEntry[i].cdte_track_address = ntohl(TocEntry[i].cdte_track_address);
+ #endif
+
+ for (i = 0; i < last; i++) {
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__)
+ TocEntry[i].cdte_track_address = ntohl(TocEntry[i].cdte_track_address);
+ #endif
+ cksum += cddb_sum((TocEntry[i].cdte_track_address + CD_MSF_OFFSET) / CD_FRAMES);
+EOF