On Tue, 5 Dec 2006, Petr Salinger wrote:

Package: beast
Severity: important
Version: 0.6.6-7
Tags: patch


Hi,

the current version fails to build on GNU/kFreeBSD.

It uses value for errno, which is not defined on GNU/kFreeBSD.
Please choose another one from basic POSIX errors.

It would also be nice if you can inform
upstream about this issue.

Thanks in advance

                       Petr

-    case ENODATA:       return BSE_ERROR_FILE_EOF;
+    case ENOMSG:        return BSE_ERROR_FILE_EOF;

the fix applied to upstream (to be released with beast-0.7.1) is:

Index: gsldatahandle-vorbis.c
===================================================================
diff -Nup .svn/text-base/gsldatahandle-vorbis.c.svn-base gsldatahandle-vorbis.c
--- gsldatahandle-vorbis.c      (revision 4155)
+++ gsldatahandle-vorbis.c      (working copy)
@@ -526,7 +526,7 @@ gsl_vorbis1_handle_read (GslVorbis1Handl
         j = gsl_rfile_read (v1h->rfile, blength, buffer);
       while (j < 0 && errno == EINTR);
       if (j <= 0)               /* bail on errors */
-        return errno ? -errno : -ENODATA;
+        return errno ? -errno : -EIO;
       gsl_vorbis_cutter_write_ogg (v1h->vcutter, j, buffer);
     }
 }
Index: ChangeLog
===================================================================
diff -Nup .svn/text-base/ChangeLog.svn-base ChangeLog
--- ChangeLog   (revision 4155)
+++ ChangeLog   (working copy)
@@ -1,3 +1,11 @@
+Thu Dec 14 23:07:16 2006  Tim Janik  <[EMAIL PROTECTED]>
+
+       * gslcommon.c (gsl_error_from_errno): special case ENODATA, which is not
+       available on GNU/kFreeBSD, reported by Petr Salinger <[EMAIL 
PROTECTED]>.
+
+       * gsldatahandle-vorbis.c (gsl_vorbis1_handle_read): use EIO in unclear
+       error cases, because GNU/kFreeBSD lacks ENODATA.
+
 Mon Dec 11 01:13:00 2006  Tim Janik  <[EMAIL PROTECTED]>

        * tests/filtertest.cc (generic_filter_tests): added missing stopband
Index: gslcommon.c
===================================================================
diff -Nup .svn/text-base/gslcommon.c.svn-base gslcommon.c
--- gslcommon.c (revision 4155)
+++ gslcommon.c (working copy)
@@ -188,7 +188,10 @@ gsl_error_from_errno (gint         sys_e
     case EROFS:
     case EPERM:
     case EACCES:        return BSE_ERROR_PERMS;
-    case ENODATA:       return BSE_ERROR_FILE_EOF;
+#ifdef ENODATA  /* GNU/kFreeBSD lacks this */
+    case ENODATA:
+#endif
+    case ENOMSG:        return BSE_ERROR_FILE_EOF;
     case ENOMEM:       return BSE_ERROR_NO_MEMORY;
     case ENOSPC:       return BSE_ERROR_NO_SPACE;
     case ENFILE:       return BSE_ERROR_NO_FILES;


---
ciaoTJ


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to