tags 290424 patch thanks Although bug #286505 is not release-critical by itself, lack of xplc on 64-bit architectures is blocking the transition of wvstreams to testing, thereby preventing the fix of an RC bug in that package. I have prepared a 0-day NMU which I will be uploading shortly to fix both this bug and bug #290424. Please find the changeset attached.
Regards, -- Steve Langasek postmodern programmer
diff -u xplc-0.3.10/debian/changelog xplc-0.3.10/debian/changelog
--- xplc-0.3.10/debian/changelog
+++ xplc-0.3.10/debian/changelog
@@ -1,3 +1,16 @@
+xplc (0.3.10-3.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix for int size issues that break building on 64-bit platforms; not
+ release-critical for this package, but is holding up RC bugfixes for
+ packages that reverse-depend on xplc. Thanks to Kurt Roeckx for the
+ patch. (Closes: #286505)
+ * Invoke ldconfig as /sbin/ldconfig, fixing build failures when /sbin
+ is not part of the path (as is the case on many third-party build
+ systems). Closes: #290424
+
+ -- Steve Langasek <[EMAIL PROTECTED]> Tue, 18 Jan 2005 03:57:10 -0800
+
xplc (0.3.10-3) unstable; urgency=low
* Add a Build-Depends for debhelper, which I though cdbs pulled in
diff -u xplc-0.3.10/debian/rules xplc-0.3.10/debian/rules
--- xplc-0.3.10/debian/rules
+++ xplc-0.3.10/debian/rules
@@ -29 +29 @@
- ldconfig -v -n debian/libxplc$(PKG_VERSION)/usr/lib
+ /sbin/ldconfig -v -n debian/libxplc$(PKG_VERSION)/usr/lib
only in patch2:
unchanged:
--- xplc-0.3.10.orig/include/xplc/uuid.h
+++ xplc-0.3.10/include/xplc/uuid.h
@@ -72,6 +72,8 @@
* UUID.
*/
+#include <stdint.h>
+
//@{
#ifndef GUID_DEFINED
#define GUID_DEFINED
@@ -81,10 +83,10 @@
*/
typedef struct _GUID {
//@{
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
+ uint32_t Data1;
+ uint16_t Data2;
+ uint16_t Data3;
+ uint8_t Data4[8];
//@}
} GUID;
#endif
only in patch2:
unchanged:
--- xplc-0.3.10.orig/include/xplc/uuidops.h
+++ xplc-0.3.10/include/xplc/uuidops.h
@@ -45,10 +45,10 @@
inline int operator==(const UUID& uuid1, const UUID& uuid2) {
return
(&uuid1 == &uuid2) ||
- ((static_cast<const unsigned long*>(&uuid1.Data1)[0] ==
static_cast<const unsigned long*>(&uuid2.Data1)[0]) &&
- (static_cast<const unsigned long*>(&uuid1.Data1)[1] ==
static_cast<const unsigned long*>(&uuid2.Data1)[1]) &&
- (static_cast<const unsigned long*>(&uuid1.Data1)[2] ==
static_cast<const unsigned long*>(&uuid2.Data1)[2]) &&
- (static_cast<const unsigned long*>(&uuid1.Data1)[3] ==
static_cast<const unsigned long*>(&uuid2.Data1)[3]));
+ ((static_cast<const uint32_t*>(&uuid1.Data1)[0] == static_cast<const
uint32_t*>(&uuid2.Data1)[0]) &&
+ (static_cast<const uint32_t*>(&uuid1.Data1)[1] == static_cast<const
uint32_t*>(&uuid2.Data1)[1]) &&
+ (static_cast<const uint32_t*>(&uuid1.Data1)[2] == static_cast<const
uint32_t*>(&uuid2.Data1)[2]) &&
+ (static_cast<const uint32_t*>(&uuid1.Data1)[3] == static_cast<const
uint32_t*>(&uuid2.Data1)[3]));
}
/**
@@ -57,10 +57,10 @@
inline int operator!=(const UUID& uuid1, const UUID& uuid2) {
return
(&uuid1 != &uuid2) &&
- ((static_cast<const unsigned long*>(&uuid1.Data1)[0] !=
static_cast<const unsigned long*>(&uuid2.Data1)[0]) ||
- (static_cast<const unsigned long*>(&uuid1.Data1)[1] !=
static_cast<const unsigned long*>(&uuid2.Data1)[1]) ||
- (static_cast<const unsigned long*>(&uuid1.Data1)[2] !=
static_cast<const unsigned long*>(&uuid2.Data1)[2]) ||
- (static_cast<const unsigned long*>(&uuid1.Data1)[3] !=
static_cast<const unsigned long*>(&uuid2.Data1)[3]));
+ ((static_cast<const uint32_t*>(&uuid1.Data1)[0] != static_cast<const
uint32_t*>(&uuid2.Data1)[0]) ||
+ (static_cast<const uint32_t*>(&uuid1.Data1)[1] != static_cast<const
uint32_t*>(&uuid2.Data1)[1]) ||
+ (static_cast<const uint32_t*>(&uuid1.Data1)[2] != static_cast<const
uint32_t*>(&uuid2.Data1)[2]) ||
+ (static_cast<const uint32_t*>(&uuid1.Data1)[3] != static_cast<const
uint32_t*>(&uuid2.Data1)[3]));
}
#endif
only in patch2:
unchanged:
--- xplc-0.3.10.orig/tests/test007.cpp
+++ xplc-0.3.10/tests/test007.cpp
@@ -23,6 +23,9 @@
#include <stdio.h>
#include <string.h>
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
+
/*
* test007
*
@@ -61,7 +64,9 @@
u1 = UuidFromString(u3);
VERIFY(u1 == u0, "u3 was not parsed properly into u1");
- rv = snprintf(u4, 39, "{%lx-%x-%x-%x%x-%x%x%x%x%x%x}",
+ rv = snprintf(u4, 39, "{%" PRIx32 "-%" PRIx16 "-%" PRIx16 "-%" PRIx8
+ "%" PRIx8 "-%" PRIx8 "%" PRIx8 "%" PRIx8 "%" PRIx8
+ "%" PRIx8 "%" PRIx8 "}",
u0.Data1, u0.Data2, u0.Data3,
u0.Data4[0],
u0.Data4[1],
@@ -77,6 +82,7 @@
UuidToString(u0, u5);
VERIFY(strncmp(u3, u5, 39) == 0, "result of using toString on u0 was
different from u3");
+ printf("u3: %s, u5: %s\n",u3, u5);
rv = snprintf(u6, 38, "{%s", u2);
ASSERT(rv == 37, "copying u2 into u6 with starting curly brace failed");
only in patch2:
unchanged:
--- xplc-0.3.10.orig/xplc-cxx/strtouuid.cpp
+++ xplc-0.3.10/xplc-cxx/strtouuid.cpp
@@ -55,7 +55,7 @@
break;
++str;
- rv.Data2 = static_cast<unsigned short>(strtoul(str, &end, 16));
+ rv.Data2 = static_cast<uint16_t>(strtoul(str, &end, 16));
if(end != str + 4)
break;
str = end;
@@ -64,7 +64,7 @@
break;
++str;
- rv.Data3 = static_cast<unsigned short>(strtoul(str, &end, 16));
+ rv.Data3 = static_cast<uint16_t>(strtoul(str, &end, 16));
if(end != str + 4)
break;
str = end;
@@ -76,13 +76,13 @@
tmp[2] = 0;
strncpy(tmp, str, 2);
- rv.Data4[0] = static_cast<unsigned char>(strtoul(tmp, &end, 16));
+ rv.Data4[0] = static_cast<uint8_t>(strtoul(tmp, &end, 16));
if(end != tmp + 2)
break;
str += 2;
strncpy(tmp, str, 2);
- rv.Data4[1] = static_cast<unsigned char>(strtoul(tmp, &end, 16));
+ rv.Data4[1] = static_cast<uint8_t>(strtoul(tmp, &end, 16));
if(end != tmp + 2)
break;
str += 2;
@@ -93,7 +93,7 @@
for(int i = 2; i < 8; ++i) {
strncpy(tmp, str, 2);
- rv.Data4[i] = static_cast<unsigned char>(strtoul(tmp, &end, 16));
+ rv.Data4[i] = static_cast<uint8_t>(strtoul(tmp, &end, 16));
if(end != tmp + 2)
break;
str += 2;
only in patch2:
unchanged:
--- xplc-0.3.10.orig/xplc-cxx/uuidtostr.cpp
+++ xplc-0.3.10/xplc-cxx/uuidtostr.cpp
@@ -33,10 +33,15 @@
#include <stdio.h>
#include <xplc/uuid.h>
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
+
char* UuidToString(const UUID& uuid, char* str) {
assert(str);
- sprintf(str, "{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
+ sprintf(str, "{%08" PRIx32 "-%04" PRIx16 "-%04" PRIx16 "-%02" PRIx8
+ "%02" PRIx8 "-%02" PRIx8 "%02" PRIx8 "%02" PRIx8
+ "%02" PRIx8 "%02" PRIx8 "%02" PRIx8 "}",
uuid.Data1, uuid.Data2, uuid.Data3,
uuid.Data4[0], uuid.Data4[1], uuid.Data4[2], uuid.Data4[3],
uuid.Data4[4], uuid.Data4[5], uuid.Data4[6], uuid.Data4[7]);
signature.asc
Description: Digital signature

