missing braces around initializer [-Werror=missing-braces]

Zeni241
Posts: 86
Joined: Tue Nov 20, 2018 4:28 am

missing braces around initializer [-Werror=missing-braces]

Postby Zeni241 » Sat Mar 07, 2020 9:27 am

I am building wifi example
esp-idf/examples/wifi/getting_started/station/.
I only changed these lines:

Code: Select all

 char aa[]="myssid";
    char bb[]="mypassword";
    wifi_config_t wifi_config = {
        .sta = {
            .ssid = aa,
            .password = bb
        },
    };
Now I am getting this error:
../main/station_example_main.c: In function 'wifi_init_sta':
../main/station_example_main.c:84:21: warning: initialization of 'unsigned char' from 'char *' makes integer from pointer without a cast [-Wint-conversion]
.ssid = aa,
^~
../main/station_example_main.c:84:21: note: (near initialization for 'wifi_config.sta.ssid[0]')
../main/station_example_main.c:85:25: warning: initialization of 'unsigned char' from 'char *' makes integer from pointer without a cast [-Wint-conversion]
.password = bb
^~
../main/station_example_main.c:85:25: note: (near initialization for 'wifi_config.sta.password[0]')
../main/station_example_main.c:82:33: error: missing braces around initializer [-Werror=missing-braces]
wifi_config_t wifi_config = {
^
../main/station_example_main.c:84:21:
.ssid = aa,
{ }
.password = bb
{
},
}
../main/station_example_main.c:82:33: error: missing braces around initializer [-Werror=missing-braces]
wifi_config_t wifi_config = {
^
../main/station_example_main.c:84:21:
.ssid = aa,
{ }
.password = bb
{
},
}
cc1.exe: some warnings being treated as errors
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
I also tried bellow without success:
uint8_t* aa={"myssid"};
uint8_t* bb={"mypassword"};


Any hint please.

Zeni241
Posts: 86
Joined: Tue Nov 20, 2018 4:28 am

Re: missing braces around initializer [-Werror=missing-braces]

Postby Zeni241 » Mon Mar 09, 2020 11:54 am

Type casting sta_config.sta.ssid and sta_config.sta.password to (char* ) solved the problem:

Code: Select all

wifi_config_t sta_config = {};
    strcpy((char *)sta_config.sta.ssid, vSSID);
    strcpy((char *)sta_config.sta.password, vPW);
instead of

Code: Select all

wifi_config_t wifi_config = {
        .sta = {
            .ssid = aa,
            .password = bb
        },
    };

Who is online

Users browsing this forum: ESP_Roland and 257 guests