mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
The meanwhile distfile was rerolled to the latest snapshot from CVS HEAD.
Other than incoporating all local patches, it also fixed a bug where version incompatibility errors were seen with certain SameTime servers.
This commit is contained in:
parent
d097ac3f8d
commit
d83b863630
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=115703
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= meanwhile
|
||||
PORTVERSION= 0.3
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
|
||||
MASTER_SITE_SUBDIR= ${PORTNAME}
|
||||
@ -16,8 +16,8 @@ MAINTAINER= marcus@FreeBSD.org
|
||||
COMMENT= Open Source implementation of the Lotus Sametime protocol
|
||||
|
||||
USE_GMAKE= yes
|
||||
USE_GNOME= gnomehack lthack glib20
|
||||
USE_GNOME= gnomehack glib20
|
||||
INSTALLS_SHLIB= yes
|
||||
USE_INC_LIBTOOL_VER=13
|
||||
USE_LIBTOOL_VER=15
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,2 +1,2 @@
|
||||
MD5 (meanwhile-0.3.tar.gz) = d2f6ed9154352caae05ce2b832917206
|
||||
SIZE (meanwhile-0.3.tar.gz) = 346887
|
||||
MD5 (meanwhile-0.3.tar.gz) = b28b87aaed0381f93906b605137289ab
|
||||
SIZE (meanwhile-0.3.tar.gz) = 347260
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- src/channel.c.orig Mon Jun 21 12:14:14 2004
|
||||
+++ src/channel.c Sun Jul 4 03:26:25 2004
|
||||
@@ -293,7 +293,7 @@
|
||||
|
||||
if(chan->status == mwChannel_OPEN) {
|
||||
|
||||
- g_message("sending %u bytes on channel 0x%08x", msg->data.len, chan->id);
|
||||
+ g_message("sending %lu bytes on channel 0x%08x", (unsigned long)(msg->data.len), chan->id);
|
||||
ret = mwSession_send(chan->session, (struct mwMessage *) msg);
|
||||
mwMessage_free(MW_MESSAGE(msg));
|
||||
|
@ -1,64 +0,0 @@
|
||||
===================================================================
|
||||
RCS file: /cvsroot/meanwhile/meanwhile/src/cipher.c,v
|
||||
retrieving revision 1.2
|
||||
retrieving revision 1.3
|
||||
diff -u -r1.2 -r1.3
|
||||
--- src/cipher.c 2004/06/15 15:34:21 1.2
|
||||
+++ src/cipher.c 2004/06/28 18:20:29 1.3
|
||||
@@ -71,7 +71,7 @@
|
||||
/* This does not seem to produce the same results as normal RC2 key
|
||||
expansion would, but it works, so eh. It might be smart to farm
|
||||
this out to mozilla or openssl */
|
||||
-void mwKeyExpand(int *ekey, const char *key, unsigned int keylen) {
|
||||
+void mwKeyExpand(int *ekey, const char *key, gsize keylen) {
|
||||
char tmp[128];
|
||||
int i, j;
|
||||
|
||||
@@ -136,8 +136,8 @@
|
||||
|
||||
|
||||
void mwEncryptExpanded(const int *ekey, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len) {
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len) {
|
||||
int x, y;
|
||||
char *o;
|
||||
int o_l;
|
||||
@@ -167,9 +167,9 @@
|
||||
}
|
||||
|
||||
|
||||
-void mwEncrypt(const char *key, unsigned int keylen, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len) {
|
||||
+void mwEncrypt(const char *key, gsize keylen, char *iv,
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len) {
|
||||
|
||||
int ekey[64];
|
||||
mwKeyExpand(ekey, key, keylen);
|
||||
@@ -220,8 +220,8 @@
|
||||
|
||||
|
||||
void mwDecryptExpanded(const int *ekey, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len) {
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len) {
|
||||
int x, y;
|
||||
char *o;
|
||||
int o_l;
|
||||
@@ -256,9 +256,9 @@
|
||||
}
|
||||
|
||||
|
||||
-void mwDecrypt(const char *key, unsigned int keylen, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len) {
|
||||
+void mwDecrypt(const char *key, gsize keylen, char *iv,
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len) {
|
||||
|
||||
int ekey[64];
|
||||
mwKeyExpand(ekey, key, keylen);
|
@ -1,50 +0,0 @@
|
||||
===================================================================
|
||||
RCS file: /cvsroot/meanwhile/meanwhile/src/cipher.h,v
|
||||
retrieving revision 1.1
|
||||
retrieving revision 1.2
|
||||
diff -u -r1.1 -r1.2
|
||||
--- src/cipher.h 2004/06/01 23:24:53 1.1
|
||||
+++ src/cipher.h 2004/06/28 18:20:29 1.2
|
||||
@@ -26,31 +26,31 @@
|
||||
|
||||
/** Expand a variable-length key into a 128-byte key (represented as an
|
||||
an array of 64 ints) */
|
||||
-void mwKeyExpand(int *ekey, const char *key, unsigned int keylen);
|
||||
+void mwKeyExpand(int *ekey, const char *key, gsize keylen);
|
||||
|
||||
|
||||
/** Encrypt data using an already-expanded key */
|
||||
void mwEncryptExpanded(const int *ekey, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len);
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len);
|
||||
|
||||
|
||||
/** Encrypt data using an expanded form of the given key */
|
||||
-void mwEncrypt(const char *key, unsigned int keylen, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len);
|
||||
+void mwEncrypt(const char *key, gsize keylen, char *iv,
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len);
|
||||
|
||||
|
||||
/** Decrypt data using an already expanded key */
|
||||
void mwDecryptExpanded(const int *ekey, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len);
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len);
|
||||
|
||||
|
||||
/** Decrypt data using an expanded form of the given key */
|
||||
-void mwDecrypt(const char *key, unsigned int keylen, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len);
|
||||
+void mwDecrypt(const char *key, gsize keylen, char *iv,
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len);
|
||||
|
||||
|
||||
#endif
|
@ -1,19 +0,0 @@
|
||||
===================================================================
|
||||
RCS file: /cvsroot/meanwhile/meanwhile/src/srvc_aware.c,v
|
||||
retrieving revision 1.10
|
||||
retrieving revision 1.11
|
||||
diff -u -r1.10 -r1.11
|
||||
--- src/srvc_aware.c 2004/06/23 08:06:34 1.10
|
||||
+++ src/srvc_aware.c 2004/06/28 18:20:29 1.11
|
||||
@@ -514,6 +514,11 @@
|
||||
g_message("adding %i buddies", count);
|
||||
|
||||
for(; count--; id_list++) {
|
||||
+ if(id_list->user == NULL || *id_list->user == '\0') {
|
||||
+ g_info("buddy's user id is empty, skipping");
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
aware = g_hash_table_lookup(list->entries, id_list);
|
||||
if(aware) {
|
||||
g_info("buddy: %s, %s already exists",
|
@ -1,116 +0,0 @@
|
||||
===================================================================
|
||||
RCS file: /cvsroot/meanwhile/meanwhile/src/st_list.c,v
|
||||
retrieving revision 1.7
|
||||
retrieving revision 1.9
|
||||
diff -u -r1.7 -r1.9
|
||||
--- src/st_list.c 2004/06/27 22:26:44 1.7
|
||||
+++ src/st_list.c 2004/06/30 20:13:11 1.9
|
||||
@@ -29,6 +29,7 @@
|
||||
struct mwIdBlock id;
|
||||
char *name;
|
||||
char *alias;
|
||||
+ char type;
|
||||
};
|
||||
|
||||
|
||||
@@ -99,11 +100,24 @@
|
||||
|
||||
GList *mwSametimeList_getGroups(struct mwSametimeList *l) {
|
||||
GList *list = NULL;
|
||||
+
|
||||
+ g_return_val_if_fail(l != NULL, NULL);
|
||||
+
|
||||
g_hash_table_foreach(l->groups, collect, &list);
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
+struct mwSametimeGroup *mwSametimeList_getGroup(struct mwSametimeList *l,
|
||||
+ const char *name) {
|
||||
+ g_return_val_if_fail(l != NULL, NULL);
|
||||
+ g_return_val_if_fail(name != NULL, NULL);
|
||||
+ g_return_val_if_fail(strlen(name) > 0, NULL);
|
||||
+
|
||||
+ return (struct mwSametimeGroup *) g_hash_table_lookup(l->groups, name);
|
||||
+}
|
||||
+
|
||||
+
|
||||
void mwSametimeList_setMajor(struct mwSametimeList *l, guint v) {
|
||||
g_return_if_fail(l != NULL);
|
||||
l->ver_major = v;
|
||||
@@ -174,6 +188,23 @@
|
||||
}
|
||||
|
||||
|
||||
+void mwSametimeGroup_setName(struct mwSametimeGroup *g, const char *name) {
|
||||
+ struct mwSametimeList *l;
|
||||
+
|
||||
+ g_return_if_fail(g != NULL);
|
||||
+ g_return_if_fail(name != NULL);
|
||||
+ g_return_if_fail(strlen(name) > 0);
|
||||
+
|
||||
+ l = g->list;
|
||||
+ g_hash_table_remove(l->groups, g->name);
|
||||
+
|
||||
+ g_free(g->name);
|
||||
+ g->name = g_strdup(name);
|
||||
+
|
||||
+ g_hash_table_insert(l->groups, g->name, g);
|
||||
+}
|
||||
+
|
||||
+
|
||||
gboolean mwSametimeGroup_isOpen(struct mwSametimeGroup *g) {
|
||||
g_return_val_if_fail(g != NULL, FALSE);
|
||||
return g->open;
|
||||
@@ -370,7 +401,7 @@
|
||||
static int get_user(char *b, struct mwSametimeList *l,
|
||||
struct mwSametimeGroup *g) {
|
||||
|
||||
- char *name, *alias = NULL;
|
||||
+ char *id, *name, *alias = NULL;
|
||||
char *tmp;
|
||||
|
||||
struct mwIdBlock idb = { NULL, NULL };
|
||||
@@ -379,25 +410,28 @@
|
||||
g_return_val_if_fail(strlen(b) > 2, -1);
|
||||
g_return_val_if_fail(g != NULL, -1);
|
||||
|
||||
- idb.user = b + 2; /* advance past "U " */
|
||||
+ /* just get everything now */
|
||||
+ str_replace(b, ';', ' ');
|
||||
+
|
||||
+ id = b + 2; /* advance past "U " */
|
||||
tmp = strstr(b, "1:: "); /* backwards thinking saves overruns */
|
||||
if(! tmp) return -1;
|
||||
*tmp = '\0';
|
||||
- str_replace(idb.user, ';', ' ');
|
||||
b = tmp;
|
||||
|
||||
name = b + 4; /* advance past the "1:: " */
|
||||
- tmp = strchr(name, ',');
|
||||
+
|
||||
+ tmp = strrchr(name, ',');
|
||||
if(tmp) {
|
||||
*tmp = '\0';
|
||||
-
|
||||
+
|
||||
tmp++;
|
||||
if(*tmp) {
|
||||
- str_replace(tmp, ';', ' ');
|
||||
alias = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
+ idb.user = id;
|
||||
user = mwSametimeUser_new(g, &idb, name, alias);
|
||||
|
||||
return 0;
|
||||
@@ -477,6 +511,8 @@
|
||||
if(name) str_replace(name, ' ', ';');
|
||||
if(alias) str_replace(alias, ' ', ';');
|
||||
|
||||
+ if(!name && alias) name = g_strdup(alias);
|
||||
+
|
||||
writ = g_sprintf(*b, "U %s1:: %s,%s\n",
|
||||
id, name? name: id, alias? alias: "");
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= meanwhile
|
||||
PORTVERSION= 0.3
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
|
||||
MASTER_SITE_SUBDIR= ${PORTNAME}
|
||||
@ -16,8 +16,8 @@ MAINTAINER= marcus@FreeBSD.org
|
||||
COMMENT= Open Source implementation of the Lotus Sametime protocol
|
||||
|
||||
USE_GMAKE= yes
|
||||
USE_GNOME= gnomehack lthack glib20
|
||||
USE_GNOME= gnomehack glib20
|
||||
INSTALLS_SHLIB= yes
|
||||
USE_INC_LIBTOOL_VER=13
|
||||
USE_LIBTOOL_VER=15
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,2 +1,2 @@
|
||||
MD5 (meanwhile-0.3.tar.gz) = d2f6ed9154352caae05ce2b832917206
|
||||
SIZE (meanwhile-0.3.tar.gz) = 346887
|
||||
MD5 (meanwhile-0.3.tar.gz) = b28b87aaed0381f93906b605137289ab
|
||||
SIZE (meanwhile-0.3.tar.gz) = 347260
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- src/channel.c.orig Mon Jun 21 12:14:14 2004
|
||||
+++ src/channel.c Sun Jul 4 03:26:25 2004
|
||||
@@ -293,7 +293,7 @@
|
||||
|
||||
if(chan->status == mwChannel_OPEN) {
|
||||
|
||||
- g_message("sending %u bytes on channel 0x%08x", msg->data.len, chan->id);
|
||||
+ g_message("sending %lu bytes on channel 0x%08x", (unsigned long)(msg->data.len), chan->id);
|
||||
ret = mwSession_send(chan->session, (struct mwMessage *) msg);
|
||||
mwMessage_free(MW_MESSAGE(msg));
|
||||
|
@ -1,64 +0,0 @@
|
||||
===================================================================
|
||||
RCS file: /cvsroot/meanwhile/meanwhile/src/cipher.c,v
|
||||
retrieving revision 1.2
|
||||
retrieving revision 1.3
|
||||
diff -u -r1.2 -r1.3
|
||||
--- src/cipher.c 2004/06/15 15:34:21 1.2
|
||||
+++ src/cipher.c 2004/06/28 18:20:29 1.3
|
||||
@@ -71,7 +71,7 @@
|
||||
/* This does not seem to produce the same results as normal RC2 key
|
||||
expansion would, but it works, so eh. It might be smart to farm
|
||||
this out to mozilla or openssl */
|
||||
-void mwKeyExpand(int *ekey, const char *key, unsigned int keylen) {
|
||||
+void mwKeyExpand(int *ekey, const char *key, gsize keylen) {
|
||||
char tmp[128];
|
||||
int i, j;
|
||||
|
||||
@@ -136,8 +136,8 @@
|
||||
|
||||
|
||||
void mwEncryptExpanded(const int *ekey, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len) {
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len) {
|
||||
int x, y;
|
||||
char *o;
|
||||
int o_l;
|
||||
@@ -167,9 +167,9 @@
|
||||
}
|
||||
|
||||
|
||||
-void mwEncrypt(const char *key, unsigned int keylen, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len) {
|
||||
+void mwEncrypt(const char *key, gsize keylen, char *iv,
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len) {
|
||||
|
||||
int ekey[64];
|
||||
mwKeyExpand(ekey, key, keylen);
|
||||
@@ -220,8 +220,8 @@
|
||||
|
||||
|
||||
void mwDecryptExpanded(const int *ekey, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len) {
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len) {
|
||||
int x, y;
|
||||
char *o;
|
||||
int o_l;
|
||||
@@ -256,9 +256,9 @@
|
||||
}
|
||||
|
||||
|
||||
-void mwDecrypt(const char *key, unsigned int keylen, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len) {
|
||||
+void mwDecrypt(const char *key, gsize keylen, char *iv,
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len) {
|
||||
|
||||
int ekey[64];
|
||||
mwKeyExpand(ekey, key, keylen);
|
@ -1,50 +0,0 @@
|
||||
===================================================================
|
||||
RCS file: /cvsroot/meanwhile/meanwhile/src/cipher.h,v
|
||||
retrieving revision 1.1
|
||||
retrieving revision 1.2
|
||||
diff -u -r1.1 -r1.2
|
||||
--- src/cipher.h 2004/06/01 23:24:53 1.1
|
||||
+++ src/cipher.h 2004/06/28 18:20:29 1.2
|
||||
@@ -26,31 +26,31 @@
|
||||
|
||||
/** Expand a variable-length key into a 128-byte key (represented as an
|
||||
an array of 64 ints) */
|
||||
-void mwKeyExpand(int *ekey, const char *key, unsigned int keylen);
|
||||
+void mwKeyExpand(int *ekey, const char *key, gsize keylen);
|
||||
|
||||
|
||||
/** Encrypt data using an already-expanded key */
|
||||
void mwEncryptExpanded(const int *ekey, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len);
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len);
|
||||
|
||||
|
||||
/** Encrypt data using an expanded form of the given key */
|
||||
-void mwEncrypt(const char *key, unsigned int keylen, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len);
|
||||
+void mwEncrypt(const char *key, gsize keylen, char *iv,
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len);
|
||||
|
||||
|
||||
/** Decrypt data using an already expanded key */
|
||||
void mwDecryptExpanded(const int *ekey, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len);
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len);
|
||||
|
||||
|
||||
/** Decrypt data using an expanded form of the given key */
|
||||
-void mwDecrypt(const char *key, unsigned int keylen, char *iv,
|
||||
- const char *in, unsigned int i_len,
|
||||
- char **out, unsigned int *o_len);
|
||||
+void mwDecrypt(const char *key, gsize keylen, char *iv,
|
||||
+ const char *in, gsize i_len,
|
||||
+ char **out, gsize *o_len);
|
||||
|
||||
|
||||
#endif
|
@ -1,19 +0,0 @@
|
||||
===================================================================
|
||||
RCS file: /cvsroot/meanwhile/meanwhile/src/srvc_aware.c,v
|
||||
retrieving revision 1.10
|
||||
retrieving revision 1.11
|
||||
diff -u -r1.10 -r1.11
|
||||
--- src/srvc_aware.c 2004/06/23 08:06:34 1.10
|
||||
+++ src/srvc_aware.c 2004/06/28 18:20:29 1.11
|
||||
@@ -514,6 +514,11 @@
|
||||
g_message("adding %i buddies", count);
|
||||
|
||||
for(; count--; id_list++) {
|
||||
+ if(id_list->user == NULL || *id_list->user == '\0') {
|
||||
+ g_info("buddy's user id is empty, skipping");
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
aware = g_hash_table_lookup(list->entries, id_list);
|
||||
if(aware) {
|
||||
g_info("buddy: %s, %s already exists",
|
@ -1,116 +0,0 @@
|
||||
===================================================================
|
||||
RCS file: /cvsroot/meanwhile/meanwhile/src/st_list.c,v
|
||||
retrieving revision 1.7
|
||||
retrieving revision 1.9
|
||||
diff -u -r1.7 -r1.9
|
||||
--- src/st_list.c 2004/06/27 22:26:44 1.7
|
||||
+++ src/st_list.c 2004/06/30 20:13:11 1.9
|
||||
@@ -29,6 +29,7 @@
|
||||
struct mwIdBlock id;
|
||||
char *name;
|
||||
char *alias;
|
||||
+ char type;
|
||||
};
|
||||
|
||||
|
||||
@@ -99,11 +100,24 @@
|
||||
|
||||
GList *mwSametimeList_getGroups(struct mwSametimeList *l) {
|
||||
GList *list = NULL;
|
||||
+
|
||||
+ g_return_val_if_fail(l != NULL, NULL);
|
||||
+
|
||||
g_hash_table_foreach(l->groups, collect, &list);
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
+struct mwSametimeGroup *mwSametimeList_getGroup(struct mwSametimeList *l,
|
||||
+ const char *name) {
|
||||
+ g_return_val_if_fail(l != NULL, NULL);
|
||||
+ g_return_val_if_fail(name != NULL, NULL);
|
||||
+ g_return_val_if_fail(strlen(name) > 0, NULL);
|
||||
+
|
||||
+ return (struct mwSametimeGroup *) g_hash_table_lookup(l->groups, name);
|
||||
+}
|
||||
+
|
||||
+
|
||||
void mwSametimeList_setMajor(struct mwSametimeList *l, guint v) {
|
||||
g_return_if_fail(l != NULL);
|
||||
l->ver_major = v;
|
||||
@@ -174,6 +188,23 @@
|
||||
}
|
||||
|
||||
|
||||
+void mwSametimeGroup_setName(struct mwSametimeGroup *g, const char *name) {
|
||||
+ struct mwSametimeList *l;
|
||||
+
|
||||
+ g_return_if_fail(g != NULL);
|
||||
+ g_return_if_fail(name != NULL);
|
||||
+ g_return_if_fail(strlen(name) > 0);
|
||||
+
|
||||
+ l = g->list;
|
||||
+ g_hash_table_remove(l->groups, g->name);
|
||||
+
|
||||
+ g_free(g->name);
|
||||
+ g->name = g_strdup(name);
|
||||
+
|
||||
+ g_hash_table_insert(l->groups, g->name, g);
|
||||
+}
|
||||
+
|
||||
+
|
||||
gboolean mwSametimeGroup_isOpen(struct mwSametimeGroup *g) {
|
||||
g_return_val_if_fail(g != NULL, FALSE);
|
||||
return g->open;
|
||||
@@ -370,7 +401,7 @@
|
||||
static int get_user(char *b, struct mwSametimeList *l,
|
||||
struct mwSametimeGroup *g) {
|
||||
|
||||
- char *name, *alias = NULL;
|
||||
+ char *id, *name, *alias = NULL;
|
||||
char *tmp;
|
||||
|
||||
struct mwIdBlock idb = { NULL, NULL };
|
||||
@@ -379,25 +410,28 @@
|
||||
g_return_val_if_fail(strlen(b) > 2, -1);
|
||||
g_return_val_if_fail(g != NULL, -1);
|
||||
|
||||
- idb.user = b + 2; /* advance past "U " */
|
||||
+ /* just get everything now */
|
||||
+ str_replace(b, ';', ' ');
|
||||
+
|
||||
+ id = b + 2; /* advance past "U " */
|
||||
tmp = strstr(b, "1:: "); /* backwards thinking saves overruns */
|
||||
if(! tmp) return -1;
|
||||
*tmp = '\0';
|
||||
- str_replace(idb.user, ';', ' ');
|
||||
b = tmp;
|
||||
|
||||
name = b + 4; /* advance past the "1:: " */
|
||||
- tmp = strchr(name, ',');
|
||||
+
|
||||
+ tmp = strrchr(name, ',');
|
||||
if(tmp) {
|
||||
*tmp = '\0';
|
||||
-
|
||||
+
|
||||
tmp++;
|
||||
if(*tmp) {
|
||||
- str_replace(tmp, ';', ' ');
|
||||
alias = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
+ idb.user = id;
|
||||
user = mwSametimeUser_new(g, &idb, name, alias);
|
||||
|
||||
return 0;
|
||||
@@ -477,6 +511,8 @@
|
||||
if(name) str_replace(name, ' ', ';');
|
||||
if(alias) str_replace(alias, ' ', ';');
|
||||
|
||||
+ if(!name && alias) name = g_strdup(alias);
|
||||
+
|
||||
writ = g_sprintf(*b, "U %s1:: %s,%s\n",
|
||||
id, name? name: id, alias? alias: "");
|
||||
|
Loading…
Reference in New Issue
Block a user