int create_new_dnd_icon(int x, int y, char *filename) //create icon from dnd data { if (filename) { char config[FL_PATH_MAX]; const char *name = fl_file_filename(filename); snprintf(config, sizeof(config)-1, "%s/.ede/desktop/%s.desktop", getenv("HOME"), name); if (!fl_file_exists((char*)config)) { char val[FL_PATH_MAX]; Fl_Config checkconf(filename, true, false); if(!checkconf.get("Desktop Entry", "Exec", val, 0, sizeof(val))) { Fl_Config cfg(config); cfg.set_section("Desktop Entry"); checkconf.get("Desktop Entry", "Icon", val, "no icon", sizeof(val)); cfg.write("Icon", val); cfg.write("X", x); cfg.write("Y", y); cfg.write(get_localized_string(), get_localized_name(checkconf)); checkconf.get("Desktop Entry", "Exec", val, filename, sizeof(val)); cfg.write("Exec", val); cfg.flush(); } else { Fl_Config cfg(config); cfg.set_section("Desktop Entry"); cfg.write("Icon", "no icon"); cfg.write("X", x); cfg.write("Y", y); cfg.write(get_localized_string(), name); cfg.write("Exec", filename); cfg.flush(); } desktop->begin(); Icon *icon = new Icon((char*)config); icon->show(); desktop->end(); desktop->redraw(); } else { fl_alert(_("The icon with the same name already exists.")); } } return 0; }
int main(int argc,char **argv) { int n; for (n=0;n<HARD_USERLIMIT;n++) pchild[n]=(child_t *)NULL; for (n=0;n<LOGININFO_COUNT;n++) logininfo[n]=(logininfo_t *)NULL; parsecmdline(argc,argv); while (reinit) { reinit=0; preinit(); if (readini()<0) exit(1); if (!checkconf()) exit(1); do_writepidfile(); do_changeroot(); if (daemonmode) { if (fork()==0) startserver(); exit(0); /* better be sure */ } else startserver(); for (n=0;n<maxusers;n++) if (pchild[n]) { free(pchild[n]); pchild[n]=(child_t *)NULL; } for (n=0;n<logininfocount;n++) if (logininfo[n]) { free(logininfo[n]); logininfo[n]=(logininfo_t *)NULL; } } exit(0); }
/** Main routine for checkconf */ int main(int argc, char* argv[]) { int c; const char* f; const char* opt = NULL; const char* cfgfile = CONFIGFILE; log_ident_set("unbound-checkconf"); log_init(NULL, 0, NULL); checklock_start(); #ifdef USE_WINSOCK /* use registry config file in preference to compiletime location */ if(!(cfgfile=w_lookup_reg_str("Software\\Unbound", "ConfigFile"))) cfgfile = CONFIGFILE; #endif /* USE_WINSOCK */ /* parse the options */ while( (c=getopt(argc, argv, "ho:")) != -1) { switch(c) { case 'o': opt = optarg; break; case '?': case 'h': default: usage(); } } argc -= optind; argv += optind; if(argc != 0 && argc != 1) usage(); if(argc == 1) f = argv[0]; else f = cfgfile; checkconf(f, opt); checklock_stop(); return 0; }
int main(int argc, char **argv) { const char *prog = xbasename(argv[0]); verbose = 1; /* TODO: remove when done testing */ /* normally we don't have stderr, so get this going to syslog early */ open_syslog(prog); syslogbit_set(); upsname = getenv("UPSNAME"); notify_type = getenv("NOTIFYTYPE"); if ((!upsname) || (!notify_type)) { printf("Error: UPSNAME and NOTIFYTYPE must be set.\n"); printf("This program should only be run from upsmon.\n"); exit(EXIT_FAILURE); } /* see if this matches anything in the config file */ checkconf(); exit(EXIT_SUCCESS); }