equal
deleted
inserted
replaced
1301 |
1301 |
1302 static void room_join(gpointer bud, char *arg) |
1302 static void room_join(gpointer bud, char *arg) |
1303 { |
1303 { |
1304 char **paramlst; |
1304 char **paramlst; |
1305 char *roomname, *nick; |
1305 char *roomname, *nick; |
|
1306 char *tmpnick = NULL; |
1306 |
1307 |
1307 paramlst = split_arg(arg, 2, 0); // roomid, nickname |
1308 paramlst = split_arg(arg, 2, 0); // roomid, nickname |
1308 roomname = *paramlst; |
1309 roomname = *paramlst; |
1309 nick = *(paramlst+1); |
1310 nick = *(paramlst+1); |
1310 |
1311 |
1313 scr_LogPrint(LPRINT_NORMAL, "Invalid room name"); |
1314 scr_LogPrint(LPRINT_NORMAL, "Invalid room name"); |
1314 free_arg_lst(paramlst); |
1315 free_arg_lst(paramlst); |
1315 return; |
1316 return; |
1316 } |
1317 } |
1317 |
1318 |
|
1319 // If no nickname is provided with the /join command, |
|
1320 // we try the "nickname" option, then the username part of the jid. |
|
1321 if (!nick || !*nick) { |
|
1322 nick = (char*)settings_opt_get("nickname"); |
|
1323 if (!nick) { |
|
1324 nick = (char*)settings_opt_get("username"); |
|
1325 if (nick && (strchr(nick, '@') > nick)) { |
|
1326 char *p; |
|
1327 nick = tmpnick = g_strdup(nick); |
|
1328 p = strchr(nick, '@'); |
|
1329 *p = 0; |
|
1330 } |
|
1331 } |
|
1332 } |
|
1333 // If we still have no nickname, give up |
1318 if (!nick || !*nick) { |
1334 if (!nick || !*nick) { |
1319 scr_LogPrint(LPRINT_NORMAL, "Missing parameter (nickname)"); |
1335 scr_LogPrint(LPRINT_NORMAL, "Missing parameter (nickname)"); |
1320 free_arg_lst(paramlst); |
1336 free_arg_lst(paramlst); |
1321 return; |
1337 return; |
1322 } |
1338 } |
1329 scr_LogPrint(LPRINT_LOGNORM, "Sent a join request to <%s>", roomname); |
1345 scr_LogPrint(LPRINT_LOGNORM, "Sent a join request to <%s>", roomname); |
1330 |
1346 |
1331 buddylist_build(); |
1347 buddylist_build(); |
1332 update_roster = TRUE; |
1348 update_roster = TRUE; |
1333 free_arg_lst(paramlst); |
1349 free_arg_lst(paramlst); |
|
1350 if (tmpnick) |
|
1351 g_free(tmpnick); |
1334 } |
1352 } |
1335 |
1353 |
1336 static void room_invite(gpointer bud, char *arg) |
1354 static void room_invite(gpointer bud, char *arg) |
1337 { |
1355 { |
1338 char **paramlst; |
1356 char **paramlst; |