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]);

Attachment: signature.asc
Description: Digital signature

Reply via email to