Skip to content
This repository was archived by the owner on Sep 2, 2025. It is now read-only.

Commit e9ebeae

Browse files
committed
1.1.1: use curl_easy_escape() on city text
1 parent 6e1c867 commit e9ebeae

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/api-fetcher.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,10 @@ static char *APIAstro(char *city) {
6565

6666
char url[4096];
6767
memset(url, 0, 4096);
68+
char *city_conv = curl_easy_escape(handle, city, 128);
6869
sprintf(url, "https://api.weatherapi.com/v1/astronomy.json"
69-
"?key=%s&q=%s&dt=%s", key, city, datestr);
70+
"?key=%s&q=%s&dt=%s", key, city_conv, datestr);
71+
curl_free(city_conv);
7072
free(key);
7173
curl_easy_setopt(handle, CURLOPT_URL, url);
7274

@@ -192,8 +194,10 @@ static char *APIForecast(char *city) {
192194

193195
char url[4096];
194196
memset(url, 0, 4096);
197+
char *city_conv = curl_easy_escape(handle, city, 128);
195198
sprintf(url, "https://api.weatherapi.com/v1/forecast.json"
196-
"?key=%s&q=%s&days=3&aqi=no&alerts=no", key, city);
199+
"?key=%s&q=%s&days=3&aqi=no&alerts=no", key, city_conv);
200+
curl_free(city_conv);
197201
free(key);
198202
curl_easy_setopt(handle, CURLOPT_URL, url);
199203

@@ -389,8 +393,10 @@ static char *APITime(char *city) {
389393

390394
char url[4096];
391395
memset(url, 0, 4096);
396+
char *city_conv = curl_easy_escape(handle, city, 128);
392397
sprintf(url, "https://api.weatherapi.com/v1/timezone.json"
393-
"?key=%s&q=%s", key, city);
398+
"?key=%s&q=%s", key, city_conv);
399+
curl_free(city_conv);
394400
free(key);
395401
curl_easy_setopt(handle, CURLOPT_URL, url);
396402

@@ -485,8 +491,10 @@ static char *APIWeather(char *city) {
485491

486492
char url[4096];
487493
memset(url, 0, 4096);
494+
char *city_conv = curl_easy_escape(handle, city, 128);
488495
sprintf(url, "https://api.weatherapi.com/v1/current.json"
489-
"?key=%s&q=%s", key, city);
496+
"?key=%s&q=%s", key, city_conv);
497+
curl_free(city_conv);
490498
free(key);
491499
curl_easy_setopt(handle, CURLOPT_URL, url);
492500

0 commit comments

Comments
 (0)