add: if ( ! icsfile.startsWith( "/" ) ) { icsfile = KCmdLineArgs::cwd() + "/" + icsfile; }
context: int main( int argc, char *argv[] ){  KAboutData aboutData( "karm", I18N_NOOP("KArm"),      KARM_VERSION, description, KAboutData::License_GPL,      "(c) 1997-2004, KDE PIM Developers" );  aboutData.addAuthor( "Mark Bucciarelli", I18N_NOOP( "Current Maintainer" ),                       "mark@hubcapconsulting.com" );  aboutData.addAuthor( "Sirtaj Singh Kang", I18N_NOOP( "Original Author" ),                       "taj@kde.org" );  aboutData.addAuthor( "Allen Winter",      0, "winterz@verizon.net" );  aboutData.addAuthor( "David Faure",       0, "faure@kde.org" );  aboutData.addAuthor( "Espen Sand",        0, "espen@kde.org" );  aboutData.addAuthor( "Gioele Barabucci",  0, "gioele@gioelebarabucci.com" );  aboutData.addAuthor( "Jan Schaumann",     0, "jschauma@netmeister.org" );  aboutData.addAuthor( "Jesper Pedersen",   0, "blackie@kde.org" );  aboutData.addAuthor( "Kalle Dalheimer",   0, "kalle@kde.org" );  aboutData.addAuthor( "Scott Monachello",  0, "smonach@cox.net" );  aboutData.addAuthor( "Thorsten Staerk",   0, "dev@staerk.de.net" );  aboutData.addAuthor( "Tomas Pospisek",    0, "tpo_deb@sourcepole.ch" );  aboutData.addAuthor( "Willi Richert",     0, "w.richert@gmx.net" );  KCmdLineArgs::init( argc, argv, &aboutData );  KCmdLineArgs::addCmdLineOptions( options );  KApplication myApp;  KCmdLineArgs *args = KCmdLineArgs::parsedArgs();  MainWindow *mainWindow;  if ( args->count() > 0 )   {    // TODO: check for malicious input.    QString icsfile = QString::fromLocal8Bit( args->arg( 0 ) );    mainWindow = new MainWindow( icsfile );  }  else  {    mainWindow = new MainWindow();  }  myApp.setMainWidget( mainWindow );  if (kapp->isRestored() && KMainWindow::canBeRestored( 1 ))    mainWindow->restore( 1, false );  else    mainWindow->show();  signal( SIGQUIT, cleanup );  signal( SIGINT, cleanup );  int ret = myApp.exec();  delete mainWindow;  return ret;}