summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am8
-rw-r--r--src/sm_genid.c23
2 files changed, 29 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index b44e623..dbfef37 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,10 +2,18 @@ lib_LTLIBRARIES=libSM.la
AM_CFLAGS= -I${top_srcdir}/include $(SM_CFLAGS) $(XTRANS_CFLAGS)
+if WITH_LIBUUID
+AM_CFLAGS += $(LIBUUID_CFLAGS) -DHAVE_LIBUUID
+endif
+
libSM_la_LDFLAGS = -version-number 6:0:0 -no-undefined
libSM_la_LIBADD = $(SM_LIBS) $(XTRANS_LIBS)
+if WITH_LIBUUID
+libSM_la_LIBADD += $(LIBUUID_LIBS)
+endif
+
libSM_la_SOURCES = \
SMlibint.h \
globals.h \
diff --git a/src/sm_genid.c b/src/sm_genid.c
index 1d1e0a3..6f90a48 100644
--- a/src/sm_genid.c
+++ b/src/sm_genid.c
@@ -1,4 +1,3 @@
-/* $Xorg: sm_genid.c,v 1.4 2001/02/09 02:03:30 xorgcvs Exp $ */
/*
Copyright 1993, 1998 The Open Group
@@ -25,7 +24,6 @@ used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
-/* $XFree86: xc/lib/SM/sm_genid.c,v 3.17 2003/07/09 15:27:28 tsi Exp $ */
/*
* Author: Ralph Mor, X Consortium
@@ -78,11 +76,31 @@ in this Software without prior written authorization from The Open Group.
#define TCPCONN
#endif
+#if defined(HAVE_LIBUUID)
+#include <uuid/uuid.h>
+#endif
+
char *
SmsGenerateClientID (smsConn)
SmsConn smsConn;
{
+#if defined(HAVE_LIBUUID)
+ char *id;
+ char temp[256];
+ uuid_t uuid;
+
+ uuid_generate(uuid);
+
+ temp[0] = '2';
+ temp[1] = '\0';
+ uuid_unparse_lower(uuid, &temp[1]);
+
+ if ((id = malloc (strlen (temp) + 1)) != NULL)
+ strcpy (id, temp);
+
+ return id;
+#else
#if defined(TCPCONN) || defined(STREAMSCONN)
static const char hex[] = "0123456789abcdef";
char hostname[256];
@@ -187,4 +205,5 @@ SmsGenerateClientID (smsConn)
#else
return (NULL);
#endif
+#endif
}