/j and /join only prepend # when channel names start with letters or numbers
authorDaniel Albers <daniel@lbers.com>
Mon, 4 Aug 2008 10:04:58 +0000 (12:04 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 10 Aug 2008 15:32:00 +0000 (17:32 +0200)
src/core/corealiasmanager.cpp
src/core/userinputhandler.cpp

index af3353f..8fcdb02 100644 (file)
@@ -54,5 +54,5 @@ CoreAliasManager::~CoreAliasManager() {
 
 void CoreAliasManager::loadDefaults() {
   // Default Aliases:
 
 void CoreAliasManager::loadDefaults() {
   // Default Aliases:
-  addAlias("j", "/join #$1");
+  addAlias("j", "/join $1");
 }
 }
index 7dec1dc..bc3bb65 100644 (file)
@@ -156,9 +156,15 @@ void UserInputHandler::handleJoin(const BufferInfo &bufferInfo, const QString &m
   QStringList params = msg.trimmed().split(" ");
   QStringList chans = params[0].split(",");
   QStringList keys;
   QStringList params = msg.trimmed().split(" ");
   QStringList chans = params[0].split(",");
   QStringList keys;
+  int i;
+  for(i = 0; i < chans.count(); i++) {
+    if (chans.at(i)[0].isLetterOrNumber())
+      chans[i].prepend(QChar('#'));
+  }
+  params[0] = chans.join(",");
   if(params.count() > 1) keys = params[1].split(",");
   emit putCmd("JOIN", serverEncode(params)); // FIXME handle messages longer than 512 bytes!
   if(params.count() > 1) keys = params[1].split(",");
   emit putCmd("JOIN", serverEncode(params)); // FIXME handle messages longer than 512 bytes!
-  int i = 0;
+  i = 0;
   for(; i < keys.count(); i++) {
     if(i >= chans.count()) break;
     networkConnection()->addChannelKey(chans[i], keys[i]);
   for(; i < keys.count(); i++) {
     if(i >= chans.count()) break;
     networkConnection()->addChannelKey(chans[i], keys[i]);