mcabber/mcabber/xmpp.c
changeset 2137 0bfc4bfc127c
parent 2134 fc7a758ebbde
child 2138 f063e36425a2
equal deleted inserted replaced
2136:54548cf8f646 2137:0bfc4bfc127c
  2282   // Walk through the storage bookmark tags
  2282   // Walk through the storage bookmark tags
  2283   for (x = bookmarks->children ; x; x = x->next) {
  2283   for (x = bookmarks->children ; x; x = x->next) {
  2284     // If the node is a conference item, let's add the note to our list.
  2284     // If the node is a conference item, let's add the note to our list.
  2285     if (x->name && !strcmp(x->name, "conference")) {
  2285     if (x->name && !strcmp(x->name, "conference")) {
  2286       struct bookmark *bm_elt;
  2286       struct bookmark *bm_elt;
  2287       const char *autojoin, *name, *nick;
  2287       const char *autojoin, *name, *nick, *passwd;
  2288       const char *fjid = lm_message_node_get_attribute(x, "jid");
  2288       const char *fjid = lm_message_node_get_attribute(x, "jid");
  2289       if (!fjid)
  2289       if (!fjid)
  2290         continue;
  2290         continue;
  2291       bm_elt = g_new0(struct bookmark, 1);
  2291       bm_elt = g_new0(struct bookmark, 1);
  2292       bm_elt->roomjid = g_strdup(fjid);
  2292       bm_elt->roomjid = g_strdup(fjid);
  2293       autojoin = lm_message_node_get_attribute(x, "autojoin");
  2293       autojoin = lm_message_node_get_attribute(x, "autojoin");
  2294       nick = lm_message_node_get_child_value(x, "nick");
  2294       nick = lm_message_node_get_child_value(x, "nick");
  2295       name = lm_message_node_get_attribute(x, "name");
  2295       name = lm_message_node_get_attribute(x, "name");
       
  2296       passwd = lm_message_node_get_child_value(x, "password");
  2296       if (autojoin && (!strcmp(autojoin, "1") || !strcmp(autojoin, "true")))
  2297       if (autojoin && (!strcmp(autojoin, "1") || !strcmp(autojoin, "true")))
  2297         bm_elt->autojoin = 1;
  2298         bm_elt->autojoin = 1;
  2298       if (nick)
  2299       if (nick)
  2299         bm_elt->nick = g_strdup(nick);
  2300         bm_elt->nick = g_strdup(nick);
  2300       if (name)
  2301       if (name)
  2301         bm_elt->name = g_strdup(name);
  2302         bm_elt->name = g_strdup(name);
       
  2303       if (passwd)
       
  2304         bm_elt->password = g_strdup(passwd);
  2302       sl_bookmarks = g_slist_append(sl_bookmarks, bm_elt);
  2305       sl_bookmarks = g_slist_append(sl_bookmarks, bm_elt);
  2303     }
  2306     }
  2304   }
  2307   }
  2305   return sl_bookmarks;
  2308   return sl_bookmarks;
  2306 }
  2309 }