cConfig() { registro.Open(HKEY_LOCAL_MACHINE, _T("Software\\Princed Development Team\\Princed V3\\settings"), FALSE); checkConf(); }
int main( int argc, char **argv ) { msgSender=0; // Initialize the mime++ library DwInitialize(); KApplication *a=new KApplication ( argc, argv, "krn" ); //a.enableSessionManagement(); app=a; conf=a->getConfig(); checkConf(); nls=a->getLocale(); keys = new KStdAccel(conf); kbp=new KBusyPtr(); msgSender=new KRNSender(); msgSender->readConfig(); msgSender->setMethod(KMSender::smSMTP); KMMessage::readConfig(); addrBook=new KMAddrBook(); addrBook->readConfig(); addrBook->load(); // Create our directory. If it exists, no problem // Should do some checking, though testDir( "/share" ); testDir( "/share/config" ); testDir( "/share/apps" ); testDir( "/share/apps/krn" ); testDir( "/share/apps/krn/cache" ); testDir( "/share/apps/krn/groupinfo" ); testDir( "/share/apps/krn/outgoing" ); krnpath = KApplication::localkdedir() + "/share/apps/krn/"; mkdir (krnpath.data(),S_IREAD|S_IWRITE|S_IEXEC); cachepath=krnpath+"/cache/"; mkdir (cachepath.data(),S_IREAD|S_IWRITE|S_IEXEC); groupinfopath=krnpath+"/groupinfo/"; mkdir (groupinfopath.data(),S_IREAD|S_IWRITE|S_IEXEC); outpath=krnpath+"outgoing/"; mkdir (outpath.data(),S_IREAD|S_IWRITE|S_IEXEC); // Create the articles database artinfopath=krnpath+"/artinfo.db"; artdb=gdbm_open(artinfopath.data(),0,GDBM_WRCREAT | GDBM_FAST,448,0); artinfopath=krnpath+"/refs.db"; refsdb=gdbm_open(artinfopath.data(),0,GDBM_WRCREAT | GDBM_FAST,448,0); artinfopath=krnpath+"/scores.db"; scoredb=gdbm_open(artinfopath.data(),0,GDBM_WRCREAT | GDBM_FAST,448,0); if ((!artdb) || (!refsdb) || (!scoredb)) //the gdbm open failed! { int i=KMsgBox::yesNo(0,"KRN - Error", "I have detected another Krn running\n" "Do you REALLY want to continue?\n" "If you are sure there isn't one, press \"Yes\"\n" "But if there *is* another one, it's going to be UGLY\n"); } // Fill the unreadDict datum key=gdbm_firstkey ( artdb ); datum nextkey; while ( key.dptr ) { unreadDict.insert(key.dptr,key.dptr); nextkey = gdbm_nextkey ( artdb, key ); free (key.dptr); key = nextkey; }; // Load the rules ruleFile=new KSimpleConfig(krnpath+"/rules"); Rule::updateGlobals(); Groupdlg *k=new Groupdlg(); main_widget = k; //insert this: if (a->isRestored()) k->restore(1); a->setMainWidget( k ); a->setTopWidget( k ); k->setMinimumSize( 250, 250 ); k->show(); a->exec(); expireCache(); // k->close(); gdbm_reorganize(artdb); gdbm_reorganize(refsdb); gdbm_reorganize(scoredb); gdbm_close(artdb); gdbm_close(refsdb); gdbm_close(scoredb); // delete k; }
int breconfig (int argc, char **argv, int configFlag) { char *optName; int vFlag = 0; int fFlag = 0; int checkReply; int stdoutsave; int fd; FILE *fp; char *linep; char tmpfile[256]; char *tmpname = "tmpXXXXXX"; while ((optName = myGetOpt (argc, argv, "f|v|")) != NULL) { switch (optName[0]) { case 'v': vFlag = 1; break; case 'f': fFlag = 1; break; default: return (-2); } } if (optind < argc) { return (-2); } if (!vFlag && !fFlag) { fprintf (stderr, "\nChecking configuration files ...\n\n"); stdoutsave = dup (1); sprintf (tmpfile, "/tmp/%s", tmpname); mktemp (tmpfile); fd = open (tmpfile, O_RDWR | O_CREAT | O_TRUNC, 0666); if (fd > 0) { dup2 (fd, 1); dup2 (fd, 2); checkReply = checkConf (1, 2); fflush (stderr); close (fd); dup2 (stdoutsave, 1); dup2 (stdoutsave, 2); fp = fopen (tmpfile, "r"); if (fp != 0) { if (checkReply == EXIT_FATAL_ERROR || checkReply == EXIT_WARNING_ERROR) { if (checkReply == EXIT_FATAL_ERROR) fprintf (stderr, "There are fatal errors.\n\n"); else fprintf (stderr, "There are warning errors.\n\n"); fflush (stderr); if (getConfirm ((_i18n_msg_get (ls_catd, NL_SETN, 2563, "Do you want to see detailed messages? [y/n] ")))) /* catgets 2563 */ while ((linep = getNextLine_ (fp, 0))) fprintf (stderr, "%s\n", linep); } else fprintf (stderr, I18N (2586, "No errors found.\n\n")); /* catgets 2586 */ fflush (stderr); } fclose (fp); unlink (tmpfile); } else checkReply = checkConf (0, 2); } else checkReply = checkConf (vFlag, 2); if (configFlag == MBD_CKCONFIG) { return (0); } switch (checkReply) { case EXIT_FATAL_ERROR: return -1; case EXIT_WARNING_ERROR: if (fFlag) break; if (configFlag == MBD_RECONFIG) { if (!getConfirm ((_i18n_msg_get (ls_catd, NL_SETN, 2564, "\nDo you want to reconfigure? [y/n] ")))) { /* catgets 2564 */ fprintf (stderr, (_i18n_msg_get (ls_catd, NL_SETN, 2565, "Reconfiguration aborted.\n"))); /* catgets 2565 */ return (-1); } } else { if (!getConfirm (I18N (2570, "\nDo you want to restart MBD? [y/n] "))) { /* catgets 2570 */ fprintf (stderr, (I18N (2571, "MBD restart aborted.\n"))); /* catgets 2571 */ return (-1); } } default: ; } if (lsb_reconfig (configFlag) < 0) { lsb_perror ((_i18n_msg_get (ls_catd, NL_SETN, 2566, "Failed"))); /* catgets 2566 */ return (-1); } if (configFlag == MBD_RECONFIG) { printf ("%s\n", _i18n_msg_get (ls_catd, NL_SETN, 2567, "Reconfiguration initiated")); /* catgets 2567 */ } else { printf ("%s\n", I18N (2569, "MBD restart initiated")); /* catgets 2569 */ } return (0); }
static int doLsCmd (int argc, char *argv[]) { int cmdRet = 0, cc, myIndex; if ((myIndex = adminCmdIndex(argv[optind-1], cmdList)) == -1) { fprintf(stderr, "Invalid command <%s>. Try help\n", argv[optind - 1]); return -1; } switch (myIndex) { case LSADM_CKCONFIG : if ((argc == optind + 1) && strcmp(argv[optind], "-v") == 0) cc = checkConf(1, 1); else if (argc == optind) { cc = checkConf(0, 1); if (cc == -1 || cc == -2) if (getConfirm("Do you want to see detailed messages? [y/n] ")); cc = checkConf(1, 1); } else cmdRet = -2; if (cmdRet == 0 && cc != 0) cmdRet = -1; break; case LSADM_RECONFIG : case LSADM_LIMREBOOT : case LSADM_LIMSHUTDOWN : cmdRet = limCtrl(argc, argv, opCodeList[myIndex]); break; case LSADM_LIMSTARTUP : cmdRet = startup(argc, argv, myIndex); break; case LSADM_LIMLOCK : cmdRet = limLock(argc, argv); break; case LSADM_LIMUNLOCK : cmdRet = limUnlock(argc, argv); break; case LSADM_RESREBOOT : case LSADM_RESSHUTDOWN : case LSADM_RESLOGON : case LSADM_RESLOGOFF : cmdRet = resCtrl(argc, argv, opCodeList[myIndex]); break; case LSADM_LIMDEBUG: case LSADM_LIMTIME: case LSADM_RESDEBUG: case LSADM_RESTIME: cmdRet = lsadminDebug(argc, argv, opCodeList[myIndex]); break; case LSADM_RESSTARTUP : cmdRet = startup(argc, argv, myIndex); break; case LSADM_HELP : case LSADM_QES : cmdHelp(argc, argv, cmdList, cmdInfo, cmdSyntax); break; case LSADM_QUIT : exit(0); default : fprintf(stderr, "adminCmdIndex: Error"); exit(-1); } if (cmdRet == -2) oneCmdUsage(myIndex, cmdList, cmdSyntax); fflush(stderr); return (cmdRet); }