Commit 83226739d056dc46516615f2e5f449f069ac05d6
1 parent
32077591
Exists in
master
and in
3 other branches
Preventing emit of "save-settings" signal on v3270 when the host URL is
set to the same value.
Showing
1 changed file
with
15 additions
and
2 deletions
Show diff stats
src/core/host.c
... | ... | @@ -248,7 +248,7 @@ void lib3270_st_changed(H3270 *h, LIB3270_STATE tx, int mode) |
248 | 248 | |
249 | 249 | static void update_url(H3270 *hSession) |
250 | 250 | { |
251 | - Replace(hSession->host.url, | |
251 | + char * url = | |
252 | 252 | lib3270_strdup_printf( |
253 | 253 | "%s%s:%s", |
254 | 254 | #ifdef HAVE_LIBSSL |
... | ... | @@ -258,7 +258,20 @@ static void update_url(H3270 *hSession) |
258 | 258 | #endif // HAVE_LIBSSL |
259 | 259 | hSession->host.current, |
260 | 260 | hSession->host.srvc |
261 | - )); | |
261 | + ); | |
262 | + | |
263 | + if(hSession->host.url && !strcmp(hSession->host.url,url)) | |
264 | + { | |
265 | + debug("%s: Same url, ignoring",__FUNCTION__); | |
266 | + lib3270_free(url); | |
267 | + return; | |
268 | + } | |
269 | + | |
270 | + debug("URL %s -> %s",hSession->host.url,url); | |
271 | + | |
272 | + lib3270_write_event_trace(hSession,"Host URL was changed\nFrom: %s\nTo: %s\n",hSession->host.url,url); | |
273 | + lib3270_free(hSession->host.url); | |
274 | + hSession->host.url = url; | |
262 | 275 | |
263 | 276 | #ifdef SSL_ENABLE_CRL_CHECK |
264 | 277 | lib3270_crl_free(hSession); | ... | ... |