コード例 #1
0
ファイル: file.c プロジェクト: CTCAdmin/FreeRDP
int freerdp_client_rdp_file_set_integer_option(rdpFile* file, const char* name, int value)
{
	int index;
	int length;
	char* text;
	rdpFileLine* line;

	line = freerdp_client_rdp_file_find_line_by_name(file, name);

	length = _scprintf("%s:i:%d", name, value);
	text = (char*) malloc(length + 1);
	sprintf_s(text, length + 1, "%s:i:%d", name, value);
	text[length] = '\0';

	if (line)
	{
		line->iValue = value;

		free(line->text);
		line->text = text;
	}
	else
	{
		index = freerdp_client_parse_rdp_file_add_line(file, text, -1);
		line = freerdp_client_rdp_file_find_line_index(file, index);

		freerdp_client_rdp_file_set_integer(file, (char*) name, value, index);

		free(text);
	}

	return 0;
}
コード例 #2
0
ファイル: file.c プロジェクト: floppym/FreeRDP
static BOOL freerdp_client_parse_rdp_file_integer_ascii(rdpFile* file, const char* name,
        const char* value, int index)
{
	int ivalue = atoi(value);

	if (freerdp_client_rdp_file_set_integer(file, name, ivalue, index) < 0)
		return FALSE;

	return TRUE;
}
コード例 #3
0
ファイル: file.c プロジェクト: C-o-r-E/FreeRDP
void freerdp_client_parse_rdp_file_integer_unicode(rdpFile* file, WCHAR* name, WCHAR* value)
{
    int length;
    int ivalue;
    char* nameA;
    char* valueA;

    length = _wcslen(name);
    nameA = (char*) malloc(length + 1);
    WideCharToMultiByte(CP_UTF8, 0, name, length, nameA, length, NULL, NULL);
    nameA[length] = '\0';

    length = _wcslen(value);
    valueA = (char*) malloc(length + 1);
    WideCharToMultiByte(CP_UTF8, 0, value, length, valueA, length, NULL, NULL);
    valueA[length] = '\0';

    ivalue = atoi(valueA);
    freerdp_client_rdp_file_set_integer(file, nameA, ivalue);

    free(nameA);
    free(valueA);
}
コード例 #4
0
ファイル: file.c プロジェクト: floppym/FreeRDP
static BOOL freerdp_client_parse_rdp_file_integer_unicode(rdpFile* file, const WCHAR* name,
        const WCHAR* value, int index)
{
	int length;
	int ivalue;
	char* nameA;
	char* valueA;
	BOOL ret = TRUE;
	length = (int) _wcslen(name);
	nameA = (char*) malloc(length + 1);

	if (!nameA)
		return FALSE;

	WideCharToMultiByte(CP_UTF8, 0, name, length, nameA, length, NULL, NULL);
	nameA[length] = '\0';
	length = (int) _wcslen(value);
	valueA = (char*) malloc(length + 1);

	if (!valueA)
	{
		free(nameA);
		return FALSE;
	}

	WideCharToMultiByte(CP_UTF8, 0, value, length, valueA, length, NULL, NULL);
	valueA[length] = '\0';
	ivalue = atoi(valueA);

	if (freerdp_client_rdp_file_set_integer(file, nameA, ivalue, index) < 0)
		ret = FALSE;

	free(nameA);
	free(valueA);
	return ret;
}
コード例 #5
0
ファイル: file.c プロジェクト: C-o-r-E/FreeRDP
void freerdp_client_parse_rdp_file_integer_ascii(rdpFile* file, char* name, char* value)
{
    int ivalue = atoi(value);
    freerdp_client_rdp_file_set_integer(file, name, ivalue);
}