/*
- * Copyright (C) 1997-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
}
return;
case CL_SENDING:
+ if (!ct->in_loaded) /* stdin task not yet started */
+ return;
if (*ct->in_loaded) {
PARA_INFO_LOG("loaded: %zd\n", *ct->in_loaded);
para_fd_set(ct->fd, &s->wfds, &s->max_fileno);
*
* \param argc Usual argument count.
* \param argv Usual argument vector.
- * \param pcd_ptr Points to dynamically allocated and initialized private client data
- * upon successful return.
+ * \param ct_ptr Points to dynamically allocated and initialized client task
+ * struct upon successful return.
*
* Check the command line options given by \a argc and argv, set default values
* for user name and rsa key file, read further option from the config file.
*
* \return Standard.
*/
-int client_open(int argc, char *argv[], struct client_task **ct_ptr)
+int client_open(int argc, char *argv[], struct client_task **ct_ptr,
+ int *loglevel)
{
char *home = para_homedir();
struct stat statbuf;
*ct_ptr = ct;
ct->fd = -1;
- ret = client_cmdline_parser(argc, argv, &ct->conf);
+ ret = -E_CLIENT_SYNTAX;
+ if (client_cmdline_parser(argc, argv, &ct->conf))
+ goto out;
HANDLE_VERSION_FLAG("client", ct->conf);
ret = -E_CLIENT_SYNTAX;
if (!ct->conf.inputs_num)
.override = 0,
.initialize = 0,
.check_required = 0,
- .check_ambiguity = 0
+ .check_ambiguity = 0,
+ .print_errors = 0
};
- client_cmdline_parser_config_file(ct->config_file,
- &ct->conf, ¶ms);
+ ret = -E_BAD_CONFIG;
+ if (client_cmdline_parser_config_file(ct->config_file,
+ &ct->conf, ¶ms))
+ goto out;
}
- ret = 1;
- PARA_INFO_LOG("loglevel: %d\n", ct->conf.loglevel_arg);
+ if (loglevel)
+ *loglevel = get_loglevel_by_name(ct->conf.loglevel_arg);
+ PARA_INFO_LOG("loglevel: %s\n", ct->conf.loglevel_arg);
PARA_INFO_LOG("config_file: %s\n", ct->config_file);
PARA_INFO_LOG("key_file: %s\n", ct->key_file);
PARA_NOTICE_LOG("connecting %s:%d\n", ct->conf.hostname_arg,
}
return ret;
}
-