Commit 6b1178c20fe3c023e6d40609a63fd908ae8a9bd1
1 parent
40c509b9
Exists in
master
and in
3 other branches
Fixing segfault on lib3270.
Showing
3 changed files
with
29 additions
and
22 deletions
Show diff stats
src/lib3270/linux/connect.c
... | ... | @@ -198,7 +198,13 @@ static void net_connected(H3270 *hSession, int fd unused, LIB3270_IO_FLAG flag u |
198 | 198 | if(!(hSession->host.current && hSession->host.srvc)) |
199 | 199 | { |
200 | 200 | // No host info, try the default one. |
201 | - lib3270_set_url(hSession,NULL); | |
201 | + if(lib3270_set_url(hSession,NULL)) | |
202 | + { | |
203 | + int err = errno; | |
204 | + lib3270_trace_event(hSession,"Can't set default URL (%s)\n",strerror(err)); | |
205 | + return errno = err; | |
206 | + } | |
207 | + | |
202 | 208 | if(!(hSession->host.current && hSession->host.srvc)) |
203 | 209 | { |
204 | 210 | return errno = ENOENT; | ... | ... |
src/lib3270/properties.c
... | ... | @@ -66,21 +66,21 @@ |
66 | 66 | static const LIB3270_INT_PROPERTY properties[] = { |
67 | 67 | { |
68 | 68 | "ready", // Property name. |
69 | - N_( "" ), // Property description. | |
69 | + N_( "Is terminal ready" ), // Property description. | |
70 | 70 | lib3270_is_ready, // Get value. |
71 | 71 | NULL // Set value. |
72 | 72 | }, |
73 | 73 | |
74 | 74 | { |
75 | 75 | "connected", // Property name. |
76 | - N_( "" ), // Property description. | |
76 | + N_( "Is terminal connected" ), // Property description. | |
77 | 77 | lib3270_is_connected, // Get value. |
78 | 78 | NULL // Set value. |
79 | 79 | }, |
80 | 80 | |
81 | 81 | { |
82 | 82 | "secure", // Property name. |
83 | - N_( "" ), // Property description. | |
83 | + N_( "Is connection secure" ), // Property description. | |
84 | 84 | lib3270_is_secure, // Get value. |
85 | 85 | NULL // Set value. |
86 | 86 | }, |
... | ... | @@ -101,28 +101,28 @@ |
101 | 101 | |
102 | 102 | { |
103 | 103 | "pconnected", // Property name. |
104 | - N_( "" ), // Property description. | |
104 | + "", // Property description. | |
105 | 105 | lib3270_pconnected, // Get value. |
106 | 106 | NULL // Set value. |
107 | 107 | }, |
108 | 108 | |
109 | 109 | { |
110 | - "half_connected", // Property name. | |
111 | - N_( "" ), // Property description. | |
112 | - lib3270_half_connected, // Get value. | |
113 | - NULL // Set value. | |
110 | + "half_connected", // Property name. | |
111 | + "", // Property description. | |
112 | + lib3270_half_connected, // Get value. | |
113 | + NULL // Set value. | |
114 | 114 | }, |
115 | 115 | |
116 | 116 | { |
117 | 117 | "neither", // Property name. |
118 | - N_( "" ), // Property description. | |
118 | + "", // Property description. | |
119 | 119 | lib3270_in_neither, // Get value. |
120 | 120 | NULL // Set value. |
121 | 121 | }, |
122 | 122 | |
123 | 123 | { |
124 | 124 | "ansi", // Property name. |
125 | - N_( "" ), // Property description. | |
125 | + "", // Property description. | |
126 | 126 | lib3270_in_ansi, // Get value. |
127 | 127 | NULL // Set value. |
128 | 128 | }, |
... | ... | @@ -136,14 +136,14 @@ |
136 | 136 | |
137 | 137 | { |
138 | 138 | "sscp", // Property name. |
139 | - N_( "" ), // Property description. | |
139 | + "", // Property description. | |
140 | 140 | lib3270_in_sscp, // Get value. |
141 | 141 | NULL // Set value. |
142 | 142 | }, |
143 | 143 | |
144 | 144 | { |
145 | 145 | "tn3270e", // Property name. |
146 | - N_( "" ), // Property description. | |
146 | + "", // Property description. | |
147 | 147 | lib3270_in_tn3270e, // Get value. |
148 | 148 | NULL // Set value. |
149 | 149 | }, |
... | ... | @@ -179,7 +179,7 @@ |
179 | 179 | /* |
180 | 180 | { |
181 | 181 | "", // Property name. |
182 | - N_( "" ), // Property description. | |
182 | + "", // Property description. | |
183 | 183 | NULL, // Get value. |
184 | 184 | NULL // Set value. |
185 | 185 | }, |
... | ... | @@ -268,7 +268,7 @@ |
268 | 268 | /* |
269 | 269 | { |
270 | 270 | "", // Property name. |
271 | - N_( "" ), // Property description. | |
271 | + "", // Property description. | |
272 | 272 | NULL, // Get value. |
273 | 273 | NULL // Set value. |
274 | 274 | }, |
... | ... | @@ -444,7 +444,7 @@ |
444 | 444 | /* |
445 | 445 | { |
446 | 446 | "", // Property name. |
447 | - N_( "" ), // Property description. | |
447 | + "", // Property description. | |
448 | 448 | , // Get value. |
449 | 449 | NULL // Set value. |
450 | 450 | }, | ... | ... |
src/lib3270/testprogram/testprogram.c
... | ... | @@ -73,13 +73,14 @@ int main(int argc, char *argv[]) |
73 | 73 | lib3270_set_toggle(h,LIB3270_TOGGLE_SSL_TRACE,1); |
74 | 74 | |
75 | 75 | rc = lib3270_reconnect(h,120); |
76 | - printf("\nConnect %s exits with rc=%d\n",lib3270_get_url(h),rc); | |
76 | + printf("\nConnect exits with rc=%d\n",rc); | |
77 | 77 | |
78 | - lib3270_wait_for_ready(h,10); | |
79 | - | |
80 | - lib3270_enter(h); | |
81 | - | |
82 | - lib3270_wait_for_ready(h,10); | |
78 | + if(!rc) | |
79 | + { | |
80 | + lib3270_wait_for_ready(h,10); | |
81 | + lib3270_enter(h); | |
82 | + lib3270_wait_for_ready(h,10); | |
83 | + } | |
83 | 84 | |
84 | 85 | lib3270_session_free(h); |
85 | 86 | ... | ... |