[client,common] extended parser

This commit is contained in:
akallabeth 2024-09-05 16:08:38 +02:00
parent 590fbcf005
commit b26ab2f069
No known key found for this signature in database
GPG Key ID: A49454A3FC909FD5
2 changed files with 20 additions and 2 deletions

View File

@ -278,6 +278,16 @@ out_error:
int freerdp_client_settings_parse_command_line(rdpSettings* settings, int argc, char** argv,
BOOL allowUnknown)
{
return freerdp_client_settings_parse_command_line_ex(settings, argc, argv, allowUnknown, NULL,
0, NULL, NULL);
}
int freerdp_client_settings_parse_command_line_ex(
rdpSettings* settings, int argc, char** argv, BOOL allowUnknown, COMMAND_LINE_ARGUMENT_A* args,
size_t count, int (*handle_option)(const COMMAND_LINE_ARGUMENT* arg, void* custom),
void* handle_userdata)
{
int status = 0;
@ -287,8 +297,8 @@ int freerdp_client_settings_parse_command_line(rdpSettings* settings, int argc,
if (!argv)
return -1;
status =
freerdp_client_settings_parse_command_line_arguments(settings, argc, argv, allowUnknown);
status = freerdp_client_settings_parse_command_line_arguments_ex(
settings, argc, argv, allowUnknown, args, count, handle_option, handle_userdata);
if (status < 0)
return status;

View File

@ -20,6 +20,8 @@
#ifndef FREERDP_CLIENT_H
#define FREERDP_CLIENT_H
#include <winpr/cmdline.h>
#include <freerdp/config.h>
#include <freerdp/api.h>
#include <freerdp/types.h>
@ -152,6 +154,12 @@ extern "C"
FREERDP_API int freerdp_client_settings_parse_command_line(rdpSettings* settings, int argc,
char** argv, BOOL allowUnknown);
FREERDP_API int freerdp_client_settings_parse_command_line_ex(
rdpSettings* settings, int argc, char** argv, BOOL allowUnknown,
COMMAND_LINE_ARGUMENT_A* args, size_t count,
int (*handle_option)(const COMMAND_LINE_ARGUMENT* arg, void* custom),
void* handle_userdata);
FREERDP_API int freerdp_client_settings_parse_connection_file(rdpSettings* settings,
const char* filename);
FREERDP_API int freerdp_client_settings_parse_connection_file_buffer(rdpSettings* settings,