examples/net: Fix compilation on Windows (no getline)
Thnaks @vtorri who authored this patch
This commit is contained in:
parent
ea4aa58464
commit
f9fc623244
|
@ -466,6 +466,7 @@ _ctl_agent_browser_url(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
static void
|
static void
|
||||||
_ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
_ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
{
|
{
|
||||||
|
char buf[100];
|
||||||
Eo *ctl = event->object;
|
Eo *ctl = event->object;
|
||||||
Efl_Net_Control_Agent_Request_Input *ri = event->info;
|
Efl_Net_Control_Agent_Request_Input *ri = event->info;
|
||||||
Eina_List *n;
|
Eina_List *n;
|
||||||
|
@ -476,7 +477,6 @@ _ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
char *ssid = NULL;
|
char *ssid = NULL;
|
||||||
char *wps = NULL;
|
char *wps = NULL;
|
||||||
Eina_Slice ssid_slice = { };
|
Eina_Slice ssid_slice = { };
|
||||||
ssize_t r;
|
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
printf("INFO: Needs agent input!\n");
|
printf("INFO: Needs agent input!\n");
|
||||||
|
@ -491,11 +491,12 @@ _ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_NAME)
|
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_NAME)
|
||||||
{
|
{
|
||||||
printf("INFO: Name="); fflush(stdout);
|
printf("INFO: Name="); fflush(stdout);
|
||||||
len = 0;
|
if ((name = fgets(buf, sizeof(buf), stdin)) != NULL)
|
||||||
r = getline(&name, &len, stdin);
|
|
||||||
if ((r > 1) && (name[r - 1] == '\n'))
|
|
||||||
{
|
{
|
||||||
name[r - 1] = '\0';
|
len = strlen(name);
|
||||||
|
if (name[len - 1] == '\n')
|
||||||
|
{
|
||||||
|
name[len - 1] = '\0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -503,17 +504,19 @@ _ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
name = NULL;
|
name = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_SSID)
|
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_SSID)
|
||||||
{
|
{
|
||||||
printf("INFO: SSID="); fflush(stdout);
|
printf("INFO: SSID="); fflush(stdout);
|
||||||
len = 0;
|
if ((ssid = fgets(buf, sizeof(buf), stdin)) != NULL)
|
||||||
r = getline(&ssid, &len, stdin);
|
|
||||||
if ((r > 1) && (ssid[r - 1] == '\n'))
|
|
||||||
{
|
{
|
||||||
ssid[r - 1] = '\0';
|
len = strlen(ssid);
|
||||||
|
if (ssid[len - 1] == '\n')
|
||||||
|
{
|
||||||
|
ssid[len - 1] = '\0';
|
||||||
ssid_slice.mem = ssid;
|
ssid_slice.mem = ssid;
|
||||||
ssid_slice.len = r - 1;
|
ssid_slice.len = len - 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -521,15 +524,17 @@ _ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
ssid = NULL;
|
ssid = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_USERNAME)
|
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_USERNAME)
|
||||||
{
|
{
|
||||||
printf("INFO: Username="); fflush(stdout);
|
printf("INFO: Username="); fflush(stdout);
|
||||||
len = 0;
|
if ((username = fgets(buf, sizeof(buf), stdin)) != NULL)
|
||||||
r = getline(&username, &len, stdin);
|
|
||||||
if ((r > 1) && (username[r - 1] == '\n'))
|
|
||||||
{
|
{
|
||||||
username[r - 1] = '\0';
|
len = strlen(username);
|
||||||
|
if (username[len - 1] == '\n')
|
||||||
|
{
|
||||||
|
username[len - 1] = '\0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -537,6 +542,7 @@ _ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
username = NULL;
|
username = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_PASSPHRASE)
|
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_PASSPHRASE)
|
||||||
{
|
{
|
||||||
|
@ -545,11 +551,12 @@ _ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
else
|
else
|
||||||
printf("INFO: Passphrase=");
|
printf("INFO: Passphrase=");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
len = 0;
|
if ((passphrase = fgets(buf, sizeof(buf), stdin)) != NULL)
|
||||||
r = getline(&passphrase, &len, stdin);
|
|
||||||
if ((r > 1) && (passphrase[r - 1] == '\n'))
|
|
||||||
{
|
{
|
||||||
passphrase[r - 1] = '\0';
|
len = strlen(passphrase);
|
||||||
|
if (passphrase[len - 1] == '\n')
|
||||||
|
{
|
||||||
|
passphrase[len - 1] = '\0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -557,16 +564,18 @@ _ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
passphrase = NULL;
|
passphrase = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_WPS)
|
if (ri->fields & EFL_NET_CONTROL_AGENT_REQUEST_INPUT_FIELD_WPS)
|
||||||
{
|
{
|
||||||
printf("INFO: WPS (use a single dot, '.', for pushbutton)="); fflush(stdout);
|
printf("INFO: WPS (use a single dot, '.', for pushbutton)="); fflush(stdout);
|
||||||
len = 0;
|
if ((wps = fgets(buf, sizeof(buf), stdin)) != NULL)
|
||||||
r = getline(&wps, &len, stdin);
|
|
||||||
if ((r > 1) && (wps[r - 1] == '\n'))
|
|
||||||
{
|
{
|
||||||
wps[r - 1] = '\0';
|
len = strlen(wps);
|
||||||
if ((r == 2) && (wps[0] == '.'))
|
if (wps[len - 1] == '\n')
|
||||||
|
{
|
||||||
|
wps[len - 1] = '\0';
|
||||||
|
if ((len == 2) && (wps[0] == '.'))
|
||||||
wps[0] = '\0'; /* API uses empty string for pushbutton */
|
wps[0] = '\0'; /* API uses empty string for pushbutton */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -576,6 +585,7 @@ _ctl_agent_request_input(void *data EINA_UNUSED, const Efl_Event *event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
efl_net_control_agent_reply(ctl,
|
efl_net_control_agent_reply(ctl,
|
||||||
name,
|
name,
|
||||||
|
|
Loading…
Reference in New Issue