Commit e78760681ebc7c453f98930112e7f8c200f3049d

Authored by Perry Werneck
1 parent 73f75e3f

Updating method for get/set URL.

@@ -49,5 +49,6 @@ makeruntime.sh @@ -49,5 +49,6 @@ makeruntime.sh
49 scripts 49 scripts
50 vgcore.* 50 vgcore.*
51 doxygen/html 51 doxygen/html
  52 +src/include/lib3270/actions.h
52 doxygen/doxyfile 53 doxygen/doxyfile
53 54
src/include/lib3270.h
@@ -459,10 +459,10 @@ @@ -459,10 +459,10 @@
459 * @param h Session handle. 459 * @param h Session handle.
460 * @param url URL of host to set in the format tn3270://hostname:service or tn3270s://hostname:service . 460 * @param url URL of host to set in the format tn3270://hostname:service or tn3270s://hostname:service .
461 * 461 *
462 - * @return Processed host url 462 + * @return 0
463 * 463 *
464 */ 464 */
465 - LIB3270_EXPORT const char * lib3270_set_url(H3270 *h, const char *url); 465 + LIB3270_EXPORT int lib3270_set_url(H3270 *h, const char *url);
466 466
467 /** 467 /**
468 * @brief Get hostname for the connect/reconnect operations. 468 * @brief Get hostname for the connect/reconnect operations.
@@ -489,7 +489,13 @@ @@ -489,7 +489,13 @@
489 489
490 LIB3270_EXPORT void lib3270_set_srvcname(H3270 *h, const char *srvc); 490 LIB3270_EXPORT void lib3270_set_srvcname(H3270 *h, const char *srvc);
491 491
492 - LIB3270_EXPORT const char * lib3270_get_url(H3270 *h, char *buffer, int len); 492 + /**
  493 + * @brief Get HOST URL.
  494 + *
  495 + * @return TN3270 Connection URL.
  496 + *
  497 + */
  498 + LIB3270_EXPORT const char * lib3270_get_url(H3270 *hSession);
493 499
494 /** 500 /**
495 * @brief Get session options. 501 * @brief Get session options.
src/lib3270/host.c
@@ -169,6 +169,7 @@ LIB3270_EXPORT void lib3270_register_schange(H3270 *h, LIB3270_STATE tx, void (* @@ -169,6 +169,7 @@ LIB3270_EXPORT void lib3270_register_schange(H3270 *h, LIB3270_STATE tx, void (*
169 169
170 st = (struct lib3270_state_callback *) lib3270_malloc(sizeof(struct lib3270_state_callback)); 170 st = (struct lib3270_state_callback *) lib3270_malloc(sizeof(struct lib3270_state_callback));
171 st->func = func; 171 st->func = func;
  172 + st->data = data;
172 173
173 if (h->st_last[tx]) 174 if (h->st_last[tx])
174 h->st_last[tx]->next = st; 175 h->st_last[tx]->next = st;
@@ -231,20 +232,13 @@ static void update_host(H3270 *h) @@ -231,20 +232,13 @@ static void update_host(H3270 *h)
231 232
232 } 233 }
233 234
234 -LIB3270_EXPORT const char * lib3270_get_url(H3270 *h, char *buffer, int len) 235 +LIB3270_EXPORT const char * lib3270_get_url(H3270 *hSession)
235 { 236 {
236 - CHECK_SESSION_HANDLE(h);  
237 -  
238 - snprintf(buffer,len,"%s://%s:%s",  
239 - ((h->options & LIB3270_OPTION_SSL) == 0) ? "tn3270" : "tn3270s",  
240 - h->host.current,  
241 - h->host.srvc  
242 - );  
243 -  
244 - return buffer; 237 + CHECK_SESSION_HANDLE(hSession);
  238 + return hSession->host.full;
245 } 239 }
246 240
247 -LIB3270_EXPORT const char * lib3270_set_url(H3270 *h, const char *n) 241 +LIB3270_EXPORT int lib3270_set_url(H3270 *h, const char *n)
248 { 242 {
249 CHECK_SESSION_HANDLE(h); 243 CHECK_SESSION_HANDLE(h);
250 244
@@ -289,7 +283,7 @@ LIB3270_EXPORT const char * lib3270_set_url(H3270 *h, const char *n) @@ -289,7 +283,7 @@ LIB3270_EXPORT const char * lib3270_set_url(H3270 *h, const char *n)
289 } 283 }
290 284
291 if(!*hostname) 285 if(!*hostname)
292 - return h->host.current; 286 + return 0;
293 287
294 ptr = strchr(hostname,':'); 288 ptr = strchr(hostname,':');
295 if(ptr) 289 if(ptr)
@@ -353,7 +347,7 @@ LIB3270_EXPORT const char * lib3270_set_url(H3270 *h, const char *n) @@ -353,7 +347,7 @@ LIB3270_EXPORT const char * lib3270_set_url(H3270 *h, const char *n)
353 free(str); 347 free(str);
354 } 348 }
355 349
356 - return h->host.current; 350 + return 0;
357 } 351 }
358 352
359 LIB3270_EXPORT const char * lib3270_get_hostname(H3270 *h) 353 LIB3270_EXPORT const char * lib3270_get_hostname(H3270 *h)
src/lib3270/testprogram/testprogram.c
@@ -22,7 +22,7 @@ int main(int numpar, char *param[]) @@ -22,7 +22,7 @@ int main(int numpar, char *param[])
22 lib3270_set_url(h,url ? url : "tn3270://fandezhi.efglobe.com"); 22 lib3270_set_url(h,url ? url : "tn3270://fandezhi.efglobe.com");
23 rc = lib3270_connect(h,120); 23 rc = lib3270_connect(h,120);
24 24
25 - printf("\nConnect exits with rc=%d\n",rc); 25 + printf("\nConnect %s exits with rc=%d\n",lib3270_get_url(h),rc);
26 26
27 lib3270_wait_for_ready(h,10); 27 lib3270_wait_for_ready(h,10);
28 28