On 7/24/07, Martín Ferrari <[EMAIL PROTECTED]> wrote:
When trying to solve this, I noticed that compiling with
DEB_BUILD_OPTIONS=noopt (i.e. -O0) the problem goes away... So, this
might be a gcc problem?
OK, I found the bug. It was a incorrect check after calling strtol.
You should clear errno before calling. Now it compiles OK in sparc.
--- libcdio-0.78.2.orig/lib/iso9660/iso9660.c
+++ libcdio-0.78.2/lib/iso9660/iso9660.c
@@ -169,6 +169,7 @@
char num[10]; \
memcpy(num, p_ldate->LT_FIELD, sizeof(p_ldate->LT_FIELD)); \
num[sizeof(p_ldate->LT_FIELD)+1] = '\0'; \
+ errno = 0; \
p_tm->TM_FIELD = strtol(num, \
(char **)NULL, 10)+ADD_CONSTANT; \
if (0 != errno) return false; \
--
Martín Ferrari