本文整理汇总了C++中poptFreeContext函数的典型用法代码示例。如果您正苦于以下问题:C++ poptFreeContext函数的具体用法?C++ poptFreeContext怎么用?C++ poptFreeContext使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了poptFreeContext函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, const char **argv)
{
const char *config_file = get_dyn_CONFIGFILE();
int ret = 0;
poptContext pc;
char *count_str = NULL;
int i, count = 1;
struct poptOption long_options[] = {
POPT_AUTOHELP
{"count", 'c', POPT_ARG_STRING, &count_str, 1,
"Load config <count> number of times"},
POPT_COMMON_DEBUGLEVEL
POPT_TABLEEND
};
TALLOC_CTX *frame = talloc_stackframe();
load_case_tables();
DEBUGLEVEL_CLASS[DBGC_ALL] = 0;
pc = poptGetContext(NULL, argc, argv, long_options,
POPT_CONTEXT_KEEP_FIRST);
poptSetOtherOptionHelp(pc, "[OPTION...] <config-file>");
while(poptGetNextOpt(pc) != -1);
setup_logging(poptGetArg(pc), True);
if (poptPeekArg(pc)) {
config_file = poptGetArg(pc);
}
poptFreeContext(pc);
if (count_str != NULL) {
count = atoi(count_str);
}
dbf = x_stderr;
/* Don't let the debuglevel be changed by smb.conf. */
AllowDebugChange = False;
for (i=0; i < count; i++) {
printf("call lp_load() #%d: ", i+1);
if (!lp_load_with_registry_shares(config_file,
False, /* global only */
True, /* save defaults */
False, /*add_ipc */
True)) /*init globals */
{
printf("ERROR.\n");
ret = 1;
goto done;
}
printf("ok.\n");
}
done:
gfree_loadparm();
TALLOC_FREE(frame);
return ret;
}
开发者ID:0x24bin,项目名称:winexe-1,代码行数:64,代码来源:test_lp_load.c
示例2: main
//.........这里部分代码省略.........
fprintf(stderr, "nordlicht: Unsupported file extension '%s', will write a PNG.\n", ext);
}
// Interesting stuff begins here!
nordlicht *n = nordlicht_init(filename, width, height);
unsigned char *data = NULL;
if (n == NULL) {
print_error(nordlicht_error());
exit(1);
}
nordlicht_set_start(n, start);
nordlicht_set_end(n, end);
nordlicht_set_styles(n, styles, num_tracks);
nordlicht_set_strategy(n, strategy);
if (nordlicht_error() != NULL) {
print_error(nordlicht_error());
exit(1);
}
if (strategy == NORDLICHT_STRATEGY_LIVE) {
int fd = open(output_file, O_CREAT | O_TRUNC | O_RDWR, 0666);
if (fd == -1) {
print_error("Could not open '%s'.", output_file);
exit(1);
}
if (ftruncate(fd, nordlicht_buffer_size(n)) == -1) {
print_error("Could not truncate '%s'.", output_file);
exit(1);
}
data = (unsigned char *) mmap(NULL, nordlicht_buffer_size(n), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (data == (void *) -1) {
print_error("Could not mmap %d bytes.", nordlicht_buffer_size(n));
exit(1);
}
nordlicht_set_buffer(n, data);
close(fd);
} else {
// Try to write the empty buffer to fail early if this does not work
if (nordlicht_write(n, output_file) != 0) {
print_error(nordlicht_error());
exit(1);
}
}
int phase = -1;
while(!nordlicht_done(n)) {
if (nordlicht_generate_step(n) == 0) {
if (! quiet) {
float progress = nordlicht_progress(n);
if (progress == 0) {
if (phase == -1) {
phase = 0;
printf("nordlicht: Building keyframe index... ");
fflush(stdout);
}
} else {
if (phase == 0) {
phase = 1;
printf("done.\n");
}
printf("\rnordlicht: %02.0f%%", progress*100);
fflush(stdout);
}
}
} else {
print_error(nordlicht_error());
exit(1);
}
}
if (strategy != NORDLICHT_STRATEGY_LIVE) {
if (nordlicht_write(n, output_file) != 0) {
print_error(nordlicht_error());
exit(1);
}
}
free(styles);
if (strategy == NORDLICHT_STRATEGY_LIVE) {
munmap(data, nordlicht_buffer_size(n));
}
nordlicht_free(n);
if (! quiet) {
printf(" -> '%s'\n", output_file);
}
if (free_output_file) {
free(output_file);
}
poptFreeContext(popt);
return 0;
}
开发者ID:cinemast,项目名称:nordlicht,代码行数:101,代码来源:main.c
示例3: main
//.........这里部分代码省略.........
if (ret != EOK) {
tctx->error = ret;
goto done;
}
}
/* userdel */
ret = userdel(tctx, tctx->sysdb, tctx->octx);
if (ret != EOK) {
goto done;
}
/* Set SELinux login context - must be done after transaction is done
* b/c libselinux calls getpwnam */
ret = del_seuser(tctx->octx->name);
if (ret != EOK) {
ERROR("Cannot reset SELinux login context\n");
ret = EXIT_FAILURE;
goto fini;
}
if (!pc_kick) {
ret = is_logged_in(tctx, tctx->octx->uid);
switch(ret) {
case ENOENT:
break;
case EOK:
ERROR("WARNING: The user (uid %1$lu) was still logged in when "
"deleted.\n", (unsigned long) tctx->octx->uid);
break;
case ENOSYS:
ERROR("Cannot determine if the user was logged in on this "
"platform");
break;
default:
ERROR("Error while checking if the user was logged in\n");
break;
}
}
ret = run_userdel_cmd(tctx);
if (ret != EOK) {
ERROR("The post-delete command failed: %1$s\n", strerror(ret));
goto fini;
}
/* Delete user from memory cache */
ret = sss_mc_refresh_user(pc_username);
if (ret != EOK) {
ERROR("NSS request failed (%1$d). Entry might remain in memory "
"cache.\n", ret);
/* Nothing we can do about it */
}
if (tctx->octx->remove_homedir) {
ret = remove_homedir(tctx,
tctx->octx->home,
tctx->octx->maildir,
tctx->octx->name,
tctx->octx->uid,
pc_force);
if (ret == EPERM) {
ERROR("Not removing home dir - not owned by user\n");
} else if (ret != EOK) {
ERROR("Cannot remove homedir: %1$s\n", strerror(ret));
ret = EXIT_FAILURE;
goto fini;
}
}
ret = EOK;
done:
if (ret) {
DEBUG(1, ("sysdb operation failed (%d)[%s]\n", ret, strerror(ret)));
switch (ret) {
case ENOENT:
ERROR("No such user in local domain. "
"Removing users only allowed in local domain.\n");
break;
default:
ERROR("Internal error. Could not remove user.\n");
break;
}
ret = EXIT_FAILURE;
goto fini;
}
ret = EXIT_SUCCESS;
fini:
talloc_free(tctx);
poptFreeContext(pc);
exit(ret);
}
开发者ID:AbhishekKumarSingh,项目名称:sssd,代码行数:101,代码来源:sss_userdel.c
示例4: main
int main(int argc, const char *argv[])
{
int rv;
poptContext pc;
int opt;
struct poptOption long_options[] = {
POPT_AUTOHELP
SSSD_DEBUG_OPTS
POPT_TABLEEND
};
const struct CMUnitTest tests[] = {
/* user */
cmocka_unit_test_setup_teardown(test_ncache_nocache_user,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_local_user,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_domain_user,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_both_user,
test_ncache_setup,
test_ncache_teardown),
/* uid */
cmocka_unit_test_setup_teardown(test_ncache_nocache_uid,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_local_uid,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_domain_uid,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_both_uid,
test_ncache_setup,
test_ncache_teardown),
/* group */
cmocka_unit_test_setup_teardown(test_ncache_nocache_group,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_local_group,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_domain_group,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_both_group,
test_ncache_setup,
test_ncache_teardown),
/* gid */
cmocka_unit_test_setup_teardown(test_ncache_nocache_gid,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_local_gid,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_domain_gid,
test_ncache_setup,
test_ncache_teardown),
cmocka_unit_test_setup_teardown(test_ncache_both_gid,
test_ncache_setup,
test_ncache_teardown),
};
/* Set debug level to invalid value so we can decide if -d 0 was used. */
debug_level = SSSDBG_INVALID;
pc = poptGetContext(argv[0], argc, argv, long_options, 0);
while ((opt = poptGetNextOpt(pc)) != -1) {
switch (opt) {
default:
fprintf(stderr, "\nInvalid option %s: %s\n\n",
poptBadOption(pc, 0), poptStrerror(opt));
poptPrintUsage(pc, stderr, 0);
return 1;
}
}
poptFreeContext(pc);
DEBUG_CLI_INIT(debug_level);
tests_set_cwd();
test_dom_suite_cleanup(TESTS_PATH, TEST_CONF_DB, TEST_DOM_NAME);
rv = cmocka_run_group_tests(tests, NULL, NULL);
return rv;
}
开发者ID:pbrezina,项目名称:sssd,代码行数:89,代码来源:test_negcache.c
示例5: main
int main(int argc, const char** argv)
{
poptContext optCon;
exword_t *device;
int rsp;
optCon = poptGetContext(NULL, argc, argv, options, 0);
setlocale(LC_ALL, "");
if (poptGetNextOpt(optCon) < -1)
usage(optCon, 1, NULL);
if (command & CMD_INTERACTIVE) {
interactive();
exit(0);
}
if ((command & CMD_MASK) == 0)
usage(optCon, 1, NULL);
if (sd_path && mem_path)
usage(optCon, 1, "--sd and --internal options mutually exclusive");
device = exword_open();
if (device == NULL) {
fprintf(stderr, "Failed to open device or no device found\n");
} else {
exword_set_debug(debug_level);
rsp = connect(device);
if (rsp == 0x20) {
if (sd_path)
rsp = set_path(device, SD_CARD, sd_path);
else if (mem_path)
rsp = set_path(device, INTERNAL_MEM, mem_path);
else
rsp = set_path(device, INTERNAL_MEM, "\\");
}
if (rsp == 0x20) {
switch(command & CMD_MASK) {
case CMD_LIST:
rsp = list_files(device);
break;
case CMD_MODEL:
rsp = display_model(device);
break;
case CMD_CAPACITY:
rsp = display_capacity(device);
break;
case CMD_SEND:
rsp = send_file(device, filename);
break;
case CMD_GET:
rsp = get_file(device, filename);
break;
case CMD_DELETE:
rsp = delete_file(device, filename);
break;
case CMD_FORMAT:
rsp = sd_format(device);
break;
default:
usage(optCon, 1, "No such command");
}
}
disconnect(device);
printf("%s\n", exword_response_to_string(rsp));
exword_close(device);
}
poptFreeContext(optCon);
return 0;
}
开发者ID:merrykid,项目名称:libexword,代码行数:71,代码来源:main.c
示例6: main
int main(int argc, const char *argv[])
{
int ret;
int kerr;
int opt;
int debug_fd = -1;
poptContext pc;
TALLOC_CTX *main_ctx = NULL;
uint8_t *buf = NULL;
ssize_t len = 0;
const char *ccname = NULL;
time_t expire_time = 0;
struct input_buffer *ibuf = NULL;
struct response *resp = NULL;
size_t written;
struct poptOption long_options[] = {
POPT_AUTOHELP
{"debug-level", 'd', POPT_ARG_INT, &debug_level, 0,
_("Debug level"), NULL},
{"debug-timestamps", 0, POPT_ARG_INT, &debug_timestamps, 0,
_("Add debug timestamps"), NULL},
{"debug-microseconds", 0, POPT_ARG_INT, &debug_microseconds, 0,
_("Show timestamps with microseconds"), NULL},
{"debug-fd", 0, POPT_ARG_INT, &debug_fd, 0,
_("An open file descriptor for the debug logs"), NULL},
POPT_TABLEEND
};
/* Set debug level to invalid value so we can decide if -d 0 was used. */
debug_level = SSSDBG_INVALID;
pc = poptGetContext(argv[0], argc, argv, long_options, 0);
while((opt = poptGetNextOpt(pc)) != -1) {
switch(opt) {
default:
fprintf(stderr, "\nInvalid option %s: %s\n\n",
poptBadOption(pc, 0), poptStrerror(opt));
poptPrintUsage(pc, stderr, 0);
_exit(-1);
}
}
poptFreeContext(pc);
CONVERT_AND_SET_DEBUG_LEVEL(debug_level);
debug_prg_name = talloc_asprintf(NULL, "[sssd[ldap_child[%d]]]", getpid());
if (!debug_prg_name) {
DEBUG(SSSDBG_CRIT_FAILURE, ("talloc_asprintf failed.\n"));
goto fail;
}
if (debug_fd != -1) {
ret = set_debug_file_from_fd(debug_fd);
if (ret != EOK) {
DEBUG(SSSDBG_CRIT_FAILURE, ("set_debug_file_from_fd failed.\n"));
}
}
DEBUG(SSSDBG_TRACE_FUNC, ("ldap_child started.\n"));
main_ctx = talloc_new(NULL);
if (main_ctx == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE, ("talloc_new failed.\n"));
talloc_free(discard_const(debug_prg_name));
goto fail;
}
talloc_steal(main_ctx, debug_prg_name);
buf = talloc_size(main_ctx, sizeof(uint8_t)*IN_BUF_SIZE);
if (buf == NULL) {
DEBUG(1, ("talloc_size failed.\n"));
goto fail;
}
ibuf = talloc_zero(main_ctx, struct input_buffer);
if (ibuf == NULL) {
DEBUG(1, ("talloc_size failed.\n"));
goto fail;
}
errno = 0;
len = sss_atomic_read_s(STDIN_FILENO, buf, IN_BUF_SIZE);
if (len == -1) {
ret = errno;
DEBUG(SSSDBG_CRIT_FAILURE, ("read failed [%d][%s].\n", ret, strerror(ret)));
goto fail;
}
close(STDIN_FILENO);
ret = unpack_buffer(buf, len, ibuf);
if (ret != EOK) {
DEBUG(1, ("unpack_buffer failed.[%d][%s].\n", ret, strerror(ret)));
goto fail;
}
kerr = ldap_child_get_tgt_sync(main_ctx,
ibuf->realm_str, ibuf->princ_str,
//.........这里部分代码省略.........
开发者ID:nguay,项目名称:SSSD,代码行数:101,代码来源:ldap_child.c
示例7: binary_smbd_main
/*
main server.
*/
static int binary_smbd_main(const char *binary_name, int argc, const char *argv[])
{
bool opt_daemon = false;
bool opt_interactive = false;
int opt;
poptContext pc;
#define _MODULE_PROTO(init) extern NTSTATUS init(void);
STATIC_service_MODULES_PROTO;
init_module_fn static_init[] = { STATIC_service_MODULES };
init_module_fn *shared_init;
struct tevent_context *event_ctx;
uint16_t stdin_event_flags;
NTSTATUS status;
const char *model = "standard";
int max_runtime = 0;
enum {
OPT_DAEMON = 1000,
OPT_INTERACTIVE,
OPT_PROCESS_MODEL,
OPT_SHOW_BUILD
};
struct poptOption long_options[] = {
POPT_AUTOHELP
{"daemon", 'D', POPT_ARG_NONE, NULL, OPT_DAEMON,
"Become a daemon (default)", NULL },
{"interactive", 'i', POPT_ARG_NONE, NULL, OPT_INTERACTIVE,
"Run interactive (not a daemon)", NULL},
{"model", 'M', POPT_ARG_STRING, NULL, OPT_PROCESS_MODEL,
"Select process model", "MODEL"},
{"maximum-runtime",0, POPT_ARG_INT, &max_runtime, 0,
"set maximum runtime of the server process, till autotermination", "seconds"},
{"show-build", 'b', POPT_ARG_NONE, NULL, OPT_SHOW_BUILD, "show build info", NULL },
POPT_COMMON_SAMBA
POPT_COMMON_VERSION
{ NULL }
};
pc = poptGetContext(binary_name, argc, argv, long_options, 0);
while((opt = poptGetNextOpt(pc)) != -1) {
switch(opt) {
case OPT_DAEMON:
opt_daemon = true;
break;
case OPT_INTERACTIVE:
opt_interactive = true;
break;
case OPT_PROCESS_MODEL:
model = poptGetOptArg(pc);
break;
case OPT_SHOW_BUILD:
show_build();
break;
default:
fprintf(stderr, "\nInvalid option %s: %s\n\n",
poptBadOption(pc, 0), poptStrerror(opt));
poptPrintUsage(pc, stderr, 0);
return 1;
}
}
if (opt_daemon && opt_interactive) {
fprintf(stderr,"\nERROR: "
"Option -i|--interactive is not allowed together with -D|--daemon\n\n");
poptPrintUsage(pc, stderr, 0);
return 1;
} else if (!opt_interactive) {
/* default is --daemon */
opt_daemon = true;
}
poptFreeContext(pc);
setup_logging(binary_name, opt_interactive?DEBUG_STDOUT:DEBUG_FILE);
setup_signals();
/* we want total control over the permissions on created files,
so set our umask to 0 */
umask(0);
DEBUG(0,("%s version %s started.\n", binary_name, SAMBA_VERSION_STRING));
DEBUGADD(0,("Copyright Andrew Tridgell and the Samba Team 1992-2011\n"));
if (sizeof(uint16_t) < 2 || sizeof(uint32_t) < 4 || sizeof(uint64_t) < 8) {
DEBUG(0,("ERROR: Samba is not configured correctly for the word size on your machine\n"));
DEBUGADD(0,("sizeof(uint16_t) = %u, sizeof(uint32_t) %u, sizeof(uint64_t) = %u\n",
(unsigned int)sizeof(uint16_t), (unsigned int)sizeof(uint32_t), (unsigned int)sizeof(uint64_t)));
return 1;
}
if (opt_daemon) {
DEBUG(3,("Becoming a daemon.\n"));
become_daemon(true, false, false);
}
cleanup_tmp_files(cmdline_lp_ctx);
if (!directory_exist(lpcfg_lockdir(cmdline_lp_ctx))) {
//.........这里部分代码省略.........
开发者ID:rti7743,项目名称:samba,代码行数:101,代码来源:server.c
示例8: grg_parse_argv
void
grg_parse_argv (gint argc, gchar * argv[], gchar ** filename,
gboolean * rootCheck)
{
poptContext optCon;
gchar *wipe, *etit;
gint passes, ennum;
gboolean dump, help, strongRnd;
struct poptOption optionsTable[] = {
{"help", 'h', POPT_ARG_NONE, &help, 1, _("shows the help"),
NULL},
{"input-file", 'f', POPT_ARG_STRING, filename, 0,
_("specify the input file to open"), _("FILE")},
#ifndef ROOT_FILTER
{"allow-root", 's', POPT_ARG_NONE, rootCheck, 1,
_("allow usage as root -- DANGEROUS"), NULL},
#endif
{"strong-random", 'R', POPT_ARG_NONE, &strongRnd, 0,
_("force use of /dev/random -- slower"), NULL},
{"dump", 'd', POPT_ARG_NONE, &dump, 0,
_("dump the content of a file"), NULL},
{"entry-num", 0, POPT_ARG_INT, &ennum, 0,
_("index of the entry to dump"), _("NUM")},
{"entry-title", 0, POPT_ARG_STRING, &etit, 0,
_("title of the entry to dump"), _("TXT")},
{"wipe-file", 'w', POPT_ARG_STRING, &wipe, 0,
_("securely wipe a file"), _("FILE")},
{"wipe-passes", 0, POPT_ARG_INT, &passes, 0,
_("passes in file wiping"), _("NUM")},
{NULL, 0, 0, NULL, 0}
};
*filename = NULL;
wipe = NULL;
etit = NULL;
passes = 0;
ennum = -1;
*rootCheck = FALSE;
strongRnd = FALSE;
dump = FALSE;
help = FALSE;
optCon = poptGetContext (NULL, argc, (const char **) argv,
optionsTable, 0);
while (poptGetNextOpt (optCon) >= 0) ;
if (help)
{
poptPrintHelp (optCon, stdout, 0);
poptFreeContext (optCon);
exit_freeing_ctx (1);
}
poptFreeContext (optCon);
if (strongRnd)
grg_ctx_set_security_lvl (gctx, GRG_SEC_PARANOIA);
/*quite cerebrotic, I know. The idea is: to ensure that stdin isn't exploitable,
the best way is to close and reopen it, so that any "abnormal" setting is
wasted. Since it isn't possible to do this atomically, I check that the former
file descriptor hasn't been opened in the while by someone that could pretend
to "be" stdin.*/
if (!(wipe || dump))
{
int canary;
close (STDIN);
canary = open ("/dev/null", O_RDONLY);
if (canary != STDIN)
exit_freeing_ctx (1);
return;
}
/*wipe and dump operations are processed without returning to main() */
/*FIXME this should be in grg_safe.c */
#ifdef HAVE_ISATTY
if (!isatty (STDIN))
{
g_critical ("%s",
_
("It isn't possible to redirect data to stdin, as it is a potential security flaw."));
exit_freeing_ctx (1);
}
#endif
if (!grg_security_filter (*rootCheck))
exit_freeing_ctx (1);
if (wipe)
{
gint res;
gchar c;
if (!g_file_test (wipe, G_FILE_TEST_IS_REGULAR))
report_err (_("The file does not exist"), 0, 1, NULL);
//.........这里部分代码省略.........
开发者ID:shlomif,项目名称:gringotts,代码行数:101,代码来源:grg_popt.c
示例9: parseParameters
//.........这里部分代码省略.........
"force-sse3", '\0',
POPT_ARG_NONE, &sf.forceSSE3,
0, "Force to use SSE3 path", NULL
},
{
"force-sse4.1", '\0',
POPT_ARG_NONE, &sf.forceSSE41,
0, "Force to use SSE4.1 path", NULL
},
{
"force-avx", '\0',
POPT_ARG_NONE, &sf.forceAVX,
0, "Force to use AVX path", NULL
},
{
"p", 'p',
POPT_ARG_NONE, &serverParams,
0, "Unused dummy argument to satisfy primitive arguments the server sends", NULL
},
{
"np", '\0',
POPT_ARG_INT | POPT_ARGFLAG_ONEDASH, &numParams,
0, "Unused dummy argument to satisfy primitive arguments the server sends", NULL
},
{
"version", 'v',
POPT_ARG_NONE, &version,
0, "Print version information", NULL
},
{
"copyright", '\0',
POPT_ARG_NONE, ©right,
0, "Print copyright information and exit", NULL
},
POPT_AUTOHELP
POPT_TABLEEND
};
setInitialFlags(&sf);
context = poptGetContext(argv[0], argc, argv, options, POPT_CONTEXT_POSIXMEHARDER);
if (!context)
{
mw_printf("Failed to get popt context\n");
exit(EXIT_FAILURE);
}
if (argc < 2)
{
poptPrintUsage(context, stderr, 0);
poptFreeContext(context);
exit(EXIT_FAILURE);
}
argRead = mwReadArguments(context);
if (argRead < 0)
{
poptFreeContext(context);
freeSeparationFlags(&sf);
exit(EXIT_FAILURE);
}
if (version)
{
printVersion(FALSE, sf.verbose);
}
if (copyright)
{
printCopyright();
}
if (version || copyright)
{
exit(EXIT_SUCCESS);
}
sf.setSeed = !!(argRead & SEED_ARGUMENT); /* Check if these flags were used */
sf.do_separation = (sf.separation_outfile && strcmp(sf.separation_outfile, ""));
if (sf.do_separation)
prob_ok_init(sf.separationSeed, sf.setSeed);
rest = poptGetArgs(context);
sf.forwardedArgs = mwGetForwardedArguments(rest, &sf.nForwardedArgs);
sf.numArgs = mwReadRestArgs(rest, sf.nForwardedArgs); /* Temporary */
poptFreeContext(context);
setDefaults(&sf);
*sfOut = sf;
return 0;
}
开发者ID:Milkyway-at-home,项目名称:milkywayathome_client,代码行数:101,代码来源:separation_main.c
示例10: main
int
main(int argc, const char **argv)
{
poptContext opt_con; /* context for parsing command-line options */
int rc;
uint16_t a_height, a_width, b_height, b_width;
size_t a_no_anchors, b_no_anchors;
vector2 *a_anchors, *b_anchors;
float *a_results, *b_results, *results;
opt_con = poptGetContext(NULL, argc, argv, cli_options, 0);
poptSetOtherOptionHelp(opt_con, "[OPTIONS] <file1> <file2>");
// Check for sufficient number of command line arguments
if (argc < 3) {
poptPrintUsage(opt_con, stderr, 0);
poptFreeContext(opt_con);
exit(EXIT_FAILURE);
}
// Parse the command line arguments.
while ((rc = poptGetNextOpt(opt_con)) >= 0) {
switch (rc) {
default:
break;
}
}
if (rc < -1) {
/* an error occurred during option processing */
fprintf(stderr, "%s: %s\n",
poptBadOption(opt_con, POPT_BADOPTION_NOALIAS),
poptStrerror(rc));
poptFreeContext(opt_con);
exit(EXIT_FAILURE);
}
// Handle the left-over arguments.
if (poptPeekArg(opt_con) != NULL) {
file[0] = strdup(poptGetArg(opt_con));
} else {
fprintf(stderr, "error: missing input file name\n");
fflush(stderr);
poptPrintUsage(opt_con, stderr, 0);
poptFreeContext(opt_con);
exit(EXIT_FAILURE);
}
// Handle the left-over arguments.
if (poptPeekArg(opt_con) != NULL) {
file[1] = strdup(poptGetArg(opt_con));
} else {
fprintf(stderr, "error: missing input file name\n");
fflush(stderr);
poptPrintUsage(opt_con, stderr, 0);
poptFreeContext(opt_con);
exit(EXIT_FAILURE);
}
for (ls2_output_variant var = AVERAGE_ERROR; var < NUM_VARIANTS; var++) {
if (compare[var] == NULL)
continue;
ls2_hdf5_read_locbased(file[0], var, &a_anchors, &a_no_anchors,
&a_results, &a_width, &a_height);
ls2_hdf5_read_locbased(file[1], var, &b_anchors, &b_no_anchors,
&b_results, &b_width, &b_height);
if (a_width != b_width || a_height != b_height) {
fprintf(stderr, "Sizes differ. Cannot continue.\n");
exit(EXIT_FAILURE);
}
/* Check whether both images are comparable. */
if (a_no_anchors != b_no_anchors) {
fprintf(stderr, "warning: number of anchors do not match\n");
} else {
for (size_t i = 0; i < a_no_anchors; i++) {
if (a_anchors[i].x != b_anchors[i].x ||
a_anchors[i].y != b_anchors[i].y) {
fprintf(stderr, "warning: anchor positions differ\n");
}
}
}
/* Compute the difference between both images.
* A positive number means that image one has the larger error.
* A negative number means that image two has the larger error.
*/
results = calloc((size_t)(a_width * a_height), sizeof(float));
for (uint16_t y = 0; y < a_height; y++) {
for (uint16_t x = 0; x < a_width; x++) {
const int i = x + y * a_width;
results[i] = a_results[i] - b_results[i];
}
}
float mu, sigma, min, max;
ls2_statistics(results, (size_t) a_width * a_height,
&mu, &sigma, &min, &max);
fprintf(stdout, "Average difference = %f, sdev = %f, min = %f, "
//.........这里部分代码省略.........
开发者ID:pwesolek,项目名称:LS2,代码行数:101,代码来源:ls2-diff.c
示例11: main
int main(int argc, const char *argv[])
{
int opt;
poptContext pc;
struct main_context *main_ctx;
int ret;
uid_t uid;
gid_t gid;
struct poptOption long_options[] = {
POPT_AUTOHELP
SSSD_MAIN_OPTS
SSSD_SERVER_OPTS(uid, gid)
POPT_TABLEEND
};
/* Set debug level to invalid value so we can decide if -d 0 was used. */
debug_level = SSSDBG_INVALID;
umask(DFL_RSP_UMASK);
pc = poptGetContext(argv[0], argc, argv, long_options, 0);
while((opt = poptGetNextOpt(pc)) != -1) {
switch(opt) {
default:
fprintf(stderr, "\nInvalid option %s: %s\n\n",
poptBadOption(pc, 0), poptStrerror(opt));
poptPrintUsage(pc, stderr, 0);
return 1;
}
}
poptFreeContext(pc);
DEBUG_INIT(debug_level);
/* set up things like debug, signals, daemonization, etc... */
debug_log_file = "sssd_autofs";
ret = server_setup("sssd[autofs]", 0, uid, gid,
CONFDB_AUTOFS_CONF_ENTRY, &main_ctx);
if (ret != EOK) {
return 2;
}
ret = die_if_parent_died();
if (ret != EOK) {
/* This is not fatal, don't return */
DEBUG(SSSDBG_OP_FAILURE, "Could not set up to exit "
"when parent process does\n");
}
ret = autofs_process_init(main_ctx,
main_ctx->event_ctx,
main_ctx->confdb_ctx);
if (ret != EOK) {
return 3;
}
/* loop on main */
server_loop(main_ctx);
return 0;
}
开发者ID:3van,项目名称:sssd,代码行数:64,代码来源:autofssrv.c
示例12: main
int main(int argc, const char *argv[])
{
static bool is_daemon;
static bool opt_interactive;
static bool Fork = true;
static bool no_process_group;
static bool log_stdout;
poptContext pc;
char *p_lmhosts = NULL;
int opt;
enum {
OPT_DAEMON = 1000,
OPT_INTERACTIVE,
OPT_FORK,
OPT_NO_PROCESS_GROUP,
OPT_LOG_STDOUT
};
struct poptOption long_options[] = {
POPT_AUTOHELP
{"daemon", 'D', POPT_ARG_NONE, NULL, OPT_DAEMON, "Become a daemon(default)" },
{"interactive", 'i', POPT_ARG_NONE, NULL, OPT_INTERACTIVE, "Run interactive (not a daemon)" },
{"foreground", 'F', POPT_ARG_NONE, NULL, OPT_FORK, "Run daemon in foreground (for daemontools & etc)" },
{"no-process-group", 0, POPT_ARG_NONE, NULL, OPT_NO_PROCESS_GROUP, "Don't create a new process group" },
{"log-stdout", 'S', POPT_ARG_NONE, NULL, OPT_LOG_STDOUT, "Log to stdout" },
{"hosts", 'H', POPT_ARG_STRING, &p_lmhosts, 0, "Load a netbios hosts file"},
{"port", 'p', POPT_ARG_INT, &global_nmb_port, 0, "Listen on the specified port" },
POPT_COMMON_SAMBA
{ NULL }
};
TALLOC_CTX *frame;
NTSTATUS status;
/*
* Do this before any other talloc operation
*/
talloc_enable_null_tracking();
frame = talloc_stackframe();
load_case_tables();
global_nmb_port = NMB_PORT;
pc = poptGetContext("nmbd", argc, argv, long_options, 0);
while ((opt = poptGetNextOpt(pc)) != -1) {
switch (opt) {
case OPT_DAEMON:
is_daemon = true;
break;
case OPT_INTERACTIVE:
opt_interactive = true;
break;
case OPT_FORK:
Fork = false;
break;
case OPT_NO_PROCESS_GROUP:
no_process_group = true;
break;
case OPT_LOG_STDOUT:
log_stdout = true;
break;
default:
d_fprintf(stderr, "\nInvalid option %s: %s\n\n",
poptBadOption(pc, 0), poptStrerror(opt));
poptPrintUsage(pc, stderr, 0);
exit(1);
}
};
poptFreeContext(pc);
global_in_nmbd = true;
StartupTime = time(NULL);
sys_srandom(time(NULL) ^ sys_getpid());
if (!override_logfile) {
char *lfile = NULL;
if (asprintf(&lfile, "%s/log.nmbd", get_dyn_LOGFILEBASE()) < 0) {
exit(1);
}
lp_set_logfile(lfile);
SAFE_FREE(lfile);
}
fault_setup();
dump_core_setup("nmbd", lp_logfile());
/* POSIX demands that signals are inherited. If the invoking process has
* these signals masked, we will have problems, as we won't receive them. */
BlockSignals(False, SIGHUP);
BlockSignals(False, SIGUSR1);
BlockSignals(False, SIGTERM);
#if defined(SIGFPE)
/* we are never interested in SIGFPE */
BlockSignals(True,SIGFPE);
#endif
/* We no longer use USR2... */
#if defined(SIGUSR2)
//.........这里部分代码省略.........
开发者ID:Arkhont,项目名称:samba,代码行数:101,代码来源:nmbd.c
示例13: cmd_stop
//.........这里部分代码省略.........
case OPT_HELP:
SHOW_HELP();
goto end;
case OPT_LIST_OPTIONS:
list_cmd_options(stdout, long_options);
goto end;
default:
ret = CMD_UNDEFINED;
goto end;
}
}
/* Mi check */
if (lttng_opt_mi) {
writer = mi_lttng_writer_create(fileno(stdout), lttng_opt_mi);
if (!writer) {
ret = -LTTNG_ERR_NOMEM;
goto end;
}
/* Open command element */
ret = mi_lttng_writer_command_open(writer,
mi_lttng_element_command_stop);
if (ret) {
ret = CMD_ERROR;
goto end;
}
/* Open output element */
ret = mi_lttng_writer_open_element(writer,
mi_lttng_element_command_output);
if (ret) {
ret = CMD_ERROR;
goto end;
}
/*
* Open sessions element
* For validation
*/
ret = mi_lttng_writer_open_element(writer,
config_element_sessions);
if (ret) {
ret = CMD_ERROR;
goto end;
}
}
opt_session_name = (char*) poptGetArg(pc);
leftover = poptGetArg(pc);
if (leftover) {
ERR("Unknown argument: %s", leftover);
ret = CMD_ERROR;
goto end;
}
command_ret = stop_tracing();
if (command_ret) {
success = 0;
}
/* Mi closing */
if (lttng_opt_mi) {
/* Close sessions and output element */
ret = mi_lttng_close_multi_element(writer, 2);
if (ret) {
ret = CMD_ERROR;
goto end;
}
/* Success ? */
ret = mi_lttng_writer_write_element_bool(writer,
mi_lttng_element_command_success, success);
if (ret) {
ret = CMD_ERROR;
goto end;
}
/* Command element close */
ret = mi_lttng_writer_command_close(writer);
if (ret) {
ret = CMD_ERROR;
goto end;
}
}
end:
/* Mi clean-up */
if (writer && mi_lttng_writer_destroy(writer)) {
/* Preserve original error code */
ret = ret ? ret : -LTTNG_ERR_MI_IO_FAIL;
}
/* Overwrite ret if an error occurred in stop_tracing() */
ret = command_ret ? command_ret : ret;
poptFreeContext(pc);
return ret;
}
开发者ID:abusque,项目名称:lttng-tools,代码行数:101,代码来源:stop.c
示例14: main
int main(int argc, const char *argv[])
{
const char *config_file = get_dyn_CONFIGFILE();
int s;
static int silent_mode = False;
static int show_all_parameters = False;
int ret = 0;
poptContext pc;
static char *parameter_name = NULL;
static const char *section_name = NULL;
const char *cname;
const char *caddr;
static int show_defaults;
static int skip_logic_checks = 0;
struct poptOption long_options[] = {
POPT_AUTOHELP
{"suppress-prompt", 's', POPT_ARG_VAL, &silent_mode, 1, "Suppress prompt for enter"},
{"verbose", 'v', POPT_ARG_NONE, &show_defaults, 1, "Show default options too"},
{"skip-logic-checks", 'l', POPT_ARG_NONE, &skip_logic_checks, 1, "Skip the global checks"},
{"show-all-parameters", '\0', POPT_ARG_VAL, &show_all_parameters, True, "Show the parameters, type, possible values" },
{"parameter-name", '\0', POPT_ARG_STRING, ¶meter_name, 0, "Limit testparm to a named parameter" },
{"section-name", '\0', POPT_ARG_STRING, §ion_name, 0, "Limit testparm to a named section" },
POPT_COMMON_VERSION
POPT_COMMON_DEBUGLEVEL
POPT_COMMON_OPTION
POPT_TABLEEND
};
TALLOC_CTX *frame = talloc_stackframe();
load_case_tables();
/*
* Set the default debug level to 2.
* Allow it to be overridden by the command line,
* not by smb.conf.
*/
lp_set_cmdline("log level", "2");
pc = poptGetContext(NULL, argc, argv, long_options,
POPT_CONTEXT_KEEP_FIRST);
poptSetOtherOptionHelp(pc, "[OPTION...] <config-file> [host-name] [host-ip]");
while(poptGetNextOpt(pc) != -1);
if (show_all_parameters) {
show_parameter_list();
exit(0);
}
setup_logging(poptGetArg(pc), DEBUG_STDERR);
if (poptPeekArg(pc))
config_file = poptGetArg(pc);
cname = poptGetArg(pc);
caddr = poptGetArg(pc);
poptFreeContext(pc);
if ( cname && ! caddr ) {
printf ( "ERROR: You must specify both a machine name and an IP address.\n" );
ret = 1;
goto done;
}
fprintf(stderr,"Load smb config files from %s\n",config_file);
if (!lp_load_with_registry_shares(config_file,False,True,False,True)) {
fprintf(stderr,"Error loading services.\n");
ret = 1;
goto done;
}
fprintf(stderr,"Loaded services file OK.\n");
if (skip_logic_checks == 0) {
ret = do_global_checks();
}
for (s=0;s<1000;s++) {
if (VALID_SNUM(s))
if (strlen(lp_servicename(talloc_tos(), s)) > 12) {
fprintf(stderr, "WARNING: You have some share names that are longer than 12 characters.\n" );
fprintf(stderr, "These may not be accessible to some older clients.\n" );
fprintf(stderr, "(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)\n" );
break;
}
}
for (s=0;s<1000;s++) {
if (VALID_SNUM(s) && (skip_logic_checks == 0)) {
do_per_share_checks(s);
}
}
if (!section_name && !parameter_name) {
fprintf(stderr,
"Server role: %s\n\n",
//.........这里部分代码省略.........
开发者ID:dmitry-shavyrin,项目名称:samba4_embedded_build,代码行数:101,代码来源:testparm.c
示例15: main
int main(int argc, const char **argv)
{
NET_API_STATUS status;
struct libnetapi_ctx *ctx = NULL;
const char *hostname = NULL;
const char *groupname = NULL;
const char *username = NULL;
poptContext pc;
int opt;
struct poptOption long_options[] = {
POPT_AUTOHELP
POPT_COMMON_LIBNETAPI_EXAMPLES
POPT_TABLEEND
};
status = libnetapi_init(&ctx);
if (status != 0) {
return status;
}
pc = poptGetContext("group_deluser", argc, argv, long_options, 0);
poptSetOtherOptionHelp(pc, "hostname groupname username");
while((opt = poptGetNextOpt(pc)) != -1) {
}
if (!poptPeekArg(pc)) {
poptPrintHelp(pc, stderr, 0);
goto out;
}
hostname = poptGetArg(pc);
if (!poptPeekArg(pc)) {
poptPrintHelp(pc, stderr, 0);
goto out;
}
groupname = poptGetArg(pc);
if (!poptPeekArg(pc)) {
poptPrintHelp(pc, stderr, 0);
goto out;
}
username = poptGetArg(pc);
/* NetGroupDelUser */
status = NetGroupDelUser(hostname,
groupname,
username);
if (status != 0) {
printf("NetGroupDelUser failed with: %s\n",
libnetapi_get_error_string(ctx, status));
}
out:
libnetapi_free(ctx);
poptFreeContext(pc);
return status;
}
开发者ID:0x24bin,项目名称:winexe-1,代码行数:62,代码来源:group_deluser.c
示例16: main
int
main (int argc, char **argv)
{
gchar c; /* used for argument parsing */
const gchar *filename;
gint width = 0;
gint height = 0;
poptContext optCon; /* context for parsing command-line options */
const struct poptOption optionsTable[] = {
{"width", 'w', POPT_ARG_INT, &width, 0,
"Width of the output image (to be resized)", "Width"},
{"height", 'h', POPT_ARG_INT, &height, 0,
"Height of the output image (to be resized)", "Height"},
POPT_AUTOHELP {NULL, 0, 0, NULL, 0}
};
optCon =
poptGetContext (NULL, argc, (const char **) argv, optionsTable,
0);
poptSetOtherOptionHelp (optCon, "[options] <filename>");
if (argc < 2) {
poptPrintUsage (optCon, stderr, 0);
return 1;
}
while ((c = poptGetNextOpt (optCon)) >= 0) {
switch (c) {
case 'w':
if (width <= 0) {
width = 0;
}
break;
case 'h':
if (height <= 0) {
height = 0;
}
break;
}
}
filename = poptGetArg (optCon);
if ((filename == NULL) || !(poptPeekArg (optCon) == NULL)) {
poptPrintUsage (optCon, stderr, 0);
g_printerr ("\n\tYou must to specify the output filename"
" such as screenshot.png\n");
return -1;
}
if (c < -1) {
/* an error occurred during option processing */
g_printerr ("%s: %s\n",
poptBadOption (optCon, POPT_BADOPTION_NOALIAS),
poptStrerror (c));
return 1;
}
gdk_init (&argc, &argv);
take_screenshot (filename, width, height);
poptFreeContext (optCon);
return 0;
}
开发者ID:linnea-s,项目名称:screenshoter,代码行数:65,代码来源:screenshoter.orig.c
|
请发表评论