Commit 5914276b4b874f7a4541c3c1bb9e94ad72de0819

Authored by Perry Werneck
Committed by GitHub
2 parents 85acf574 6094e039
Exists in develop

Merge pull request #52 from PerryWerneck/develop

Small update and macos os build fix.
.github/workflows/macos.yml 0 → 100644
@@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
  1 +name: MacOS Test
  2 +on:
  3 + push:
  4 + branches:
  5 + - macos
  6 +jobs:
  7 + build:
  8 + name: Build for macos
  9 + runs-on: macos-latest
  10 + steps:
  11 + - name: Checkout
  12 + uses: actions/checkout@v3
  13 + - name: Install Pre reqs
  14 + run: |
  15 + brew update
  16 + brew install xz automake binutils coreutils curl gettext libtool openssl pkgconfig
  17 + find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
  18 + brew upgrade
  19 + - name: build
  20 + run: ./mac/ci-build.sh
  21 +
  22 +
.github/workflows/publish.yml
1 name: Publish 1 name: Publish
2 on: 2 on:
  3 + push:
  4 + branches:
  5 + - develop
3 pull_request: 6 pull_request:
4 branches: 7 branches:
5 - master 8 - master
@@ -21,13 +24,15 @@ jobs: @@ -21,13 +24,15 @@ jobs:
21 with: 24 with:
22 msystem: mingw64 25 msystem: mingw64
23 update: true 26 update: true
24 - install: dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool 27 + install: zip dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool
25 - name: CI-Build 28 - name: CI-Build
26 run: ./win/mingw-build.sh 29 run: ./win/mingw-build.sh
  30 + - name: Bundle
  31 + run: ./win/bundle.msys --build
27 - uses: ncipollo/release-action@v1 32 - uses: ncipollo/release-action@v1
28 with: 33 with:
29 tag: ${{ steps.gettag.outputs.tag }} 34 tag: ${{ steps.gettag.outputs.tag }}
30 - artifacts: "*-lib3270-*.pkg.tar.zst" 35 + artifacts: "*-lib3270-*.pkg.tar.zst,*-lib3270-*.zip"
31 allowUpdates: true 36 allowUpdates: true
32 draft: false 37 draft: false
33 makeLatest: true 38 makeLatest: true
@@ -35,7 +40,7 @@ jobs: @@ -35,7 +40,7 @@ jobs:
35 omitPrereleaseDuringUpdate: true 40 omitPrereleaseDuringUpdate: true
36 replacesArtifacts: true 41 replacesArtifacts: true
37 msys2-msvc: 42 msys2-msvc:
38 - name: Publish for MSVC 64 43 + name: Publish devel for MSVC 64
39 runs-on: windows-latest 44 runs-on: windows-latest
40 defaults: 45 defaults:
41 run: 46 run:
@@ -57,7 +62,7 @@ jobs: @@ -57,7 +62,7 @@ jobs:
57 - uses: ncipollo/release-action@v1 62 - uses: ncipollo/release-action@v1
58 with: 63 with:
59 tag: ${{ steps.gettag.outputs.tag }} 64 tag: ${{ steps.gettag.outputs.tag }}
60 - artifacts: "*-lib3270-*.zip" 65 + artifacts: "*-lib3270-*.devel.zip"
61 allowUpdates: true 66 allowUpdates: true
62 draft: false 67 draft: false
63 makeLatest: true 68 makeLatest: true
@@ -79,6 +84,9 @@ jobs: @@ -79,6 +84,9 @@ jobs:
79 run: | 84 run: |
80 brew update 85 brew update
81 brew install xz automake binutils coreutils curl gettext libtool openssl pkgconfig 86 brew install xz automake binutils coreutils curl gettext libtool openssl pkgconfig
  87 + find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
  88 + rm -f /usr/local/bin/go || true
  89 + rm -f /usr/local/bin/gofmt || true
82 brew upgrade 90 brew upgrade
83 - name: build 91 - name: build
84 run: ./mac/ci-build.sh 92 run: ./mac/ci-build.sh
@@ -10,11 +10,12 @@ Created originally as part of PW3270 application. @@ -10,11 +10,12 @@ Created originally as part of PW3270 application.
10 10
11 ## Installation 11 ## Installation
12 12
13 -### Linux 13 +### Pre build packages
14 14
15 -You can download installation package for supported distributions in Open Build Service. 15 +You can download installation package for supported linux distributions in [Open Build Service](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=lib3270)
16 16
17 -[<img src="https://raw.githubusercontent.com/PerryWerneck/pw3270/master/branding/obs-badge-en.svg" alt="Download from open build service" height="80px">](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=lib3270) 17 +[<img src="https://raw.githubusercontent.com/PerryWerneck/pw3270/develop/branding/obs-badge-en.svg" alt="Download from open build service" height="80px">](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=pw3270)
  18 +[<img src="https://raw.githubusercontent.com/PerryWerneck/PerryWerneck/3aa96b8275d4310896c3a0b5b3965ed650fb7c2b/badges/github-msys-macos.svg" alt="Download from githut" height="80px">](https://github.com/PerryWerneck/lib3270/releases)
18 19
19 ## Building for Linux 20 ## Building for Linux
20 21
@@ -85,8 +86,32 @@ You can download installation package for supported distributions in Open Build @@ -85,8 +86,32 @@ You can download installation package for supported distributions in Open Build
85 make clean 86 make clean
86 make all 87 make all
87 ``` 88 ```
  89 +### Windows native with MSYS2 (Using bundle script)
88 90
89 -### Windows native with MSYS2 91 +1. Install and update MSYS2
  92 +
  93 + * Download and install [msys2](https://www.msys2.org/)
  94 + * Update msys:
  95 +
  96 + ```shell
  97 + pacman -Syu
  98 + ```
  99 + Afther this close and reopen mingw shell.
  100 +
  101 +2. Get lib3270 sources from git using the mingw shell
  102 +
  103 + ```shell
  104 + git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
  105 + ```
  106 +
  107 +3. Run bundle script
  108 +
  109 + ```shell
  110 + cd lib3270
  111 + ./win/bundle.msys --pre-reqs --build
  112 + ```
  113 +
  114 +### Windows native with MSYS2 (Manual)
90 115
91 1. Install and update MSYS2 116 1. Install and update MSYS2
92 117
@@ -150,7 +175,7 @@ Install @@ -150,7 +175,7 @@ Install
150 175
151 ```shell 176 ```shell
152 export PKG_CONFIG_PATH="$(brew --prefix curl)/lib/pkgconfig:$(brew --prefix openssl)/lib/pkgconfig" 177 export PKG_CONFIG_PATH="$(brew --prefix curl)/lib/pkgconfig:$(brew --prefix openssl)/lib/pkgconfig"
153 - ./autogen.sh --prefix="$(brew --cellar)/lib3270/5.4" 178 + ./autogen.sh --prefix="$(brew --cellar)/lib3270/5.4" --with-libiconv-prefix=$(brew --prefix gettext)
154 make all && make install 179 make all && make install
155 brew link lib3270 180 brew link lib3270
156 ``` 181 ```
@@ -86,6 +86,9 @@ @@ -86,6 +86,9 @@
86 <Unit filename="src/core/cursor.c"> 86 <Unit filename="src/core/cursor.c">
87 <Option compilerVar="CC" /> 87 <Option compilerVar="CC" />
88 </Unit> 88 </Unit>
  89 + <Unit filename="src/core/field.c">
  90 + <Option compilerVar="CC" />
  91 + </Unit>
89 <Unit filename="src/core/ft/ft.c"> 92 <Unit filename="src/core/ft/ft.c">
90 <Option compilerVar="CC" /> 93 <Option compilerVar="CC" />
91 </Unit> 94 </Unit>
locale/lib3270.pot
@@ -1,2137 +0,0 @@ @@ -1,2137 +0,0 @@
1 -# SOME DESCRIPTIVE TITLE.  
2 -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER  
3 -# This file is distributed under the same license as the PACKAGE package.  
4 -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.  
5 -#  
6 -#, fuzzy  
7 -msgid ""  
8 -msgstr ""  
9 -"Project-Id-Version: PACKAGE VERSION\n"  
10 -"Report-Msgid-Bugs-To: \n"  
11 -"POT-Creation-Date: 2023-04-21 08:38-0300\n"  
12 -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"  
13 -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"  
14 -"Language-Team: LANGUAGE <LL@li.org>\n"  
15 -"Language: \n"  
16 -"MIME-Version: 1.0\n"  
17 -"Content-Type: text/plain; charset=CHARSET\n"  
18 -"Content-Transfer-Encoding: 8bit\n"  
19 -  
20 -#: src/core/ctlr.c:178  
21 -#, c-format  
22 -msgid "%dx%d is negative or zero"  
23 -msgstr ""  
24 -  
25 -#: src/core/ctlr.c:190  
26 -#, c-format  
27 -msgid "%dx%d screen size is bigger than the maximum size"  
28 -msgstr ""  
29 -  
30 -#: src/network_modules/tools.c:175 src/network_modules/tools.c:191  
31 -#, c-format  
32 -msgid "%s"  
33 -msgstr ""  
34 -  
35 -#: src/core/keyboard/kybd.c:1763  
36 -#, c-format  
37 -msgid "%s: Bell not supported"  
38 -msgstr ""  
39 -  
40 -#: src/core/keyboard/kybd.c:1908  
41 -#, c-format  
42 -msgid "%s: Missing hex digits after \\x"  
43 -msgstr ""  
44 -  
45 -#: src/core/keyboard/kybd.c:1861  
46 -#, c-format  
47 -msgid "%s: Unknown character after \\p"  
48 -msgstr ""  
49 -  
50 -#: src/core/keyboard/kybd.c:1889  
51 -#, c-format  
52 -msgid "%s: Unknown character after \\pa"  
53 -msgstr ""  
54 -  
55 -#: src/core/keyboard/kybd.c:1872  
56 -#, c-format  
57 -msgid "%s: Unknown character after \\pf"  
58 -msgstr ""  
59 -  
60 -#: src/core/keyboard/kybd.c:1814  
61 -#, c-format  
62 -msgid "%s: Vertical tab not supported"  
63 -msgstr ""  
64 -  
65 -#: src/core/telnet.c:1785  
66 -msgid "3270 Mode"  
67 -msgstr ""  
68 -  
69 -#: src/core/actions/table.c:678  
70 -msgid "3270-style backspace"  
71 -msgstr ""  
72 -  
73 -#: src/network_modules/openssl/messages.c:314  
74 -msgid ""  
75 -"A CA certificate is invalid. Either it is not a CA or its extensions are not "  
76 -"consistent with the supplied purpose."  
77 -msgstr ""  
78 -  
79 -#: src/core/actions/table.c:692  
80 -msgid "ATTN key, per RFC 2355. Sends IP, regardless"  
81 -msgstr ""  
82 -  
83 -#: src/core/ft/ft.c:100  
84 -msgid "Abort sent; awaiting response"  
85 -msgstr ""  
86 -  
87 -#: src/core/ft/ft.c:612  
88 -msgid "Aborting..."  
89 -msgstr ""  
90 -  
91 -#: src/core/ft/ft.c:98  
92 -msgid "Ack received, data flowing"  
93 -msgstr ""  
94 -  
95 -#: src/core/paste.c:373  
96 -msgid "Action failed"  
97 -msgstr ""  
98 -  
99 -#: src/core/toggles/table.c:256  
100 -msgid "Alert sound"  
101 -msgstr ""  
102 -  
103 -#: src/network_modules/openssl/start.c:264  
104 -msgid "An EOF was observed that violates the protocol"  
105 -msgstr ""  
106 -  
107 -#: src/core/ft/ftmessages.c:67  
108 -msgid "An error exists in the PC's file name."  
109 -msgstr ""  
110 -  
111 -#: src/core/ft/ftmessages.c:46  
112 -msgid ""  
113 -"An error occurred in the file transfer, which may be an error in the data "  
114 -"being transferred, or an unidentified system error."  
115 -msgstr ""  
116 -  
117 -#: src/network_modules/openssl/messages.c:238  
118 -msgid "An error occurred trying to allocate memory. This should never happen."  
119 -msgstr ""  
120 -  
121 -#: src/core/ft/ftmessages.c:102  
122 -msgid "An invalid SEND or RECEIVE parameter was sent to the host."  
123 -msgstr ""  
124 -  
125 -#: src/core/actions/table.c:691  
126 -msgid "Attn"  
127 -msgstr ""  
128 -  
129 -#: src/network_modules/openssl/messages.c:390  
130 -msgid "Authority and issuer serial number mismatch"  
131 -msgstr ""  
132 -  
133 -#: src/network_modules/openssl/messages.c:379  
134 -msgid "Authority and subject key identifier mismatch"  
135 -msgstr ""  
136 -  
137 -#: src/core/toggles/table.c:275  
138 -msgid "Auto Resize"  
139 -msgstr ""  
140 -  
141 -#: src/core/toggles/table.c:318 src/core/toggles/table.c:319  
142 -msgid "Auto-Reconnect"  
143 -msgstr ""  
144 -  
145 -#: src/core/toggles/table.c:236  
146 -msgid "Automatically connect to host on startup"  
147 -msgstr ""  
148 -  
149 -#: src/core/toggles/table.c:115  
150 -msgid ""  
151 -"Automatically convert trailing blanks in a field to NULLs in order to insert "  
152 -"a character, and will automatically convert leading NULLs to blanks so that "  
153 -"input data is not squeezed to the left"  
154 -msgstr ""  
155 -  
156 -#: src/core/toggles/table.c:320  
157 -msgid "Automatically reconnect to the host if it ever disconnects"  
158 -msgstr ""  
159 -  
160 -#: src/core/ft/ft.c:99  
161 -msgid "Awaiting chance to send an abort"  
162 -msgstr ""  
163 -  
164 -#: src/core/actions/table.c:677  
165 -msgid "Back space"  
166 -msgstr ""  
167 -  
168 -#: src/core/actions/table.c:504  
169 -msgid "Backspaces the cursor until it hits the front of a word"  
170 -msgstr ""  
171 -  
172 -#: src/core/windows/connect.c:123  
173 -msgid "Bad winsock version"  
174 -msgstr ""  
175 -  
176 -#: src/core/toggles/table.c:257  
177 -msgid "Beep on errors"  
178 -msgstr ""  
179 -  
180 -#: src/core/toggles/table.c:113 src/core/toggles/table.c:114  
181 -msgid "Blank Fill"  
182 -msgstr ""  
183 -  
184 -#: src/core/toggles/table.c:62 src/core/toggles/table.c:63  
185 -msgid "Blinking Cursor"  
186 -msgstr ""  
187 -  
188 -#: src/core/toggles/table.c:205 src/core/toggles/table.c:206  
189 -msgid "Bold"  
190 -msgstr ""  
191 -  
192 -#: src/core/actions/table.c:705 src/core/actions/table.c:706  
193 -msgid "Break"  
194 -msgstr ""  
195 -  
196 -#: src/network_modules/tools.c:113  
197 -msgid "Broken pipe"  
198 -msgstr ""  
199 -  
200 -#: src/core/ft/ftmessages.c:215  
201 -msgid "CMS disk is full: file transfer canceled"  
202 -msgstr ""  
203 -  
204 -#: src/core/ft/ftmessages.c:208  
205 -msgid "CMS disk is not accessed: file transfer canceled"  
206 -msgstr ""  
207 -  
208 -#: src/core/ft/ftmessages.c:201  
209 -msgid "CMS disk is read-only: file transfer canceled"  
210 -msgstr ""  
211 -  
212 -#: src/core/ft/ftmessages.c:194  
213 -msgid "CMS file not found: file transfer canceled"  
214 -msgstr ""  
215 -  
216 -#: src/network_modules/openssl/messages.c:134  
217 -msgid "CRL signature failure"  
218 -msgstr ""  
219 -  
220 -#: src/core/toggles/init.c:83 src/core/linux/connect.c:334  
221 -#: src/core/windows/connect.c:372 src/core/macos/connect.c:334  
222 -#, c-format  
223 -msgid "Can't %s network keep-alive"  
224 -msgstr ""  
225 -  
226 -#: src/core/windows/ldap.c:149  
227 -msgid "Can't bind to LDAP server"  
228 -msgstr ""  
229 -  
230 -#: src/core/linux/connect.c:215 src/core/linux/connect.c:269  
231 -#: src/core/windows/connect.c:232 src/core/windows/connect.c:276  
232 -#: src/core/macos/connect.c:215 src/core/macos/connect.c:269  
233 -#, c-format  
234 -msgid "Can't connect to %s:%s"  
235 -msgstr ""  
236 -  
237 -#: src/core/windows/http.c:110  
238 -msgid "Can't connect to HTTP server."  
239 -msgstr ""  
240 -  
241 -#: src/core/linux/connect.c:165 src/core/windows/connect.c:197  
242 -#: src/core/macos/connect.c:165  
243 -msgid "Can't connect to host"  
244 -msgstr ""  
245 -  
246 -#: src/core/windows/http.c:121  
247 -msgid "Can't create HTTP request."  
248 -msgstr ""  
249 -  
250 -#: src/network_modules/openssl/start.c:71  
251 -msgid "Can't decode CRL data"  
252 -msgstr ""  
253 -  
254 -#: src/core/linux/ldap.c:167 src/core/windows/ldap.c:204  
255 -#: src/core/macos/ldap.c:167  
256 -msgid "Can't decode certificate revocation list"  
257 -msgstr ""  
258 -  
259 -#: src/core/connect.c:169  
260 -msgid "Can't determine the TLS/SSL state"  
261 -msgstr ""  
262 -  
263 -#: src/core/ft/ft.c:391  
264 -msgid "Can't get file size"  
265 -msgstr ""  
266 -  
267 -#: src/core/windows/ldap.c:133  
268 -msgid "Can't initialize LDAP"  
269 -msgstr ""  
270 -  
271 -#: src/core/linux/curl.c:171 src/core/macos/curl.c:171  
272 -msgid "Can't initialize curl operation"  
273 -msgstr ""  
274 -  
275 -#: src/network_modules/openssl/context.c:236  
276 -msgid "Can't initialize the TLS/SSL context."  
277 -msgstr ""  
278 -  
279 -#: src/core/session.c:176  
280 -msgid "Can't load"  
281 -msgstr ""  
282 -  
283 -#: src/network_modules/openssl/context.c:338  
284 -#, c-format  
285 -msgid "Can't load \"%s\": %s"  
286 -msgstr ""  
287 -  
288 -#: src/network_modules/openssl/context.c:291  
289 -#, c-format  
290 -msgid "Can't open \"%s\" (The Windows error code was %ld)"  
291 -msgstr ""  
292 -  
293 -#: src/network_modules/openssl/context.c:304  
294 -#, c-format  
295 -msgid "Can't open \"%s\": %s"  
296 -msgstr ""  
297 -  
298 -#: src/core/windows/http.c:99  
299 -msgid "Can't open HTTP session"  
300 -msgstr ""  
301 -  
302 -#: src/core/session.c:164  
303 -msgid "Can't print"  
304 -msgstr ""  
305 -  
306 -#: src/network_modules/openssl/context.c:322  
307 -#, c-format  
308 -msgid "Can't read \"%s\": %s"  
309 -msgstr ""  
310 -  
311 -#: src/core/windows/http.c:173  
312 -msgid "Can't read HTTP response size."  
313 -msgstr ""  
314 -  
315 -#: src/core/session.c:170  
316 -msgid "Can't save"  
317 -msgstr ""  
318 -  
319 -#: src/core/windows/http.c:134  
320 -msgid "Can't send HTTP request."  
321 -msgstr ""  
322 -  
323 -#: src/core/windows/ldap.c:141  
324 -msgid "Can't set LDAP protocol version"  
325 -msgstr ""  
326 -  
327 -#: src/network_modules/tools.c:190  
328 -msgid "Can't set socket to blocking mode."  
329 -msgstr ""  
330 -  
331 -#: src/network_modules/tools.c:190  
332 -msgid "Can't set socket to non blocking mode"  
333 -msgstr ""  
334 -  
335 -#: src/core/ft/ft.c:192  
336 -msgid "Can't start file transfer."  
337 -msgstr ""  
338 -  
339 -#: src/core/windows/connect.c:124  
340 -msgid "Can't use this system winsock"  
341 -msgstr ""  
342 -  
343 -#: src/core/ft/ft.c:151  
344 -msgid "Cancelled by user"  
345 -msgstr ""  
346 -  
347 -#: src/core/telnet.c:928  
348 -msgid "Cannot connect to specified LU"  
349 -msgstr ""  
350 -  
351 -#: src/network_modules/openssl/start.c:213  
352 -msgid "Cant create a new SSL structure for current connection."  
353 -msgstr ""  
354 -  
355 -#: src/network_modules/openssl/context.c:332  
356 -msgid "Cant load custom certificate file."  
357 -msgstr ""  
358 -  
359 -#: src/network_modules/openssl/context.c:286  
360 -msgid "Cant open custom certificate directory."  
361 -msgstr ""  
362 -  
363 -#: src/network_modules/openssl/context.c:316  
364 -msgid "Cant read custom certificate file."  
365 -msgstr ""  
366 -  
367 -#: src/network_modules/openssl/start.c:230  
368 -msgid ""  
369 -"Cant set the file descriptor for the input/output facility for the TLS/SSL "  
370 -"(encrypted) side of ssl."  
371 -msgstr ""  
372 -  
373 -#: src/network_modules/openssl/messages.c:156  
374 -msgid "Certificate has expired"  
375 -msgstr ""  
376 -  
377 -#: src/network_modules/openssl/messages.c:145  
378 -msgid "Certificate is not yet valid"  
379 -msgstr ""  
380 -  
381 -#: src/network_modules/openssl/messages.c:346  
382 -msgid "Certificate not trusted"  
383 -msgstr ""  
384 -  
385 -#: src/network_modules/openssl/messages.c:357  
386 -msgid "Certificate rejected"  
387 -msgstr ""  
388 -  
389 -#: src/network_modules/openssl/messages.c:302  
390 -msgid "Certificate revoked"  
391 -msgstr ""  
392 -  
393 -#: src/network_modules/openssl/messages.c:123  
394 -msgid "Certificate signature failure"  
395 -msgstr ""  
396 -  
397 -#: src/core/toggles/table.c:277  
398 -msgid "Change screen size on alternative screen"  
399 -msgstr ""  
400 -  
401 -#: src/core/telnet.c:1790  
402 -msgid "Charset"  
403 -msgstr ""  
404 -  
405 -#: src/core/actions/table.c:765  
406 -msgid "Charset table"  
407 -msgstr ""  
408 -  
409 -#: src/core/actions/table.c:588  
410 -msgid "Clear"  
411 -msgstr ""  
412 -  
413 -#: src/core/actions/table.c:589  
414 -msgid "Clear AID key"  
415 -msgstr ""  
416 -  
417 -#: src/core/ft/ftmessages.c:73  
418 -msgid "Command incomplete: file transfer canceled"  
419 -msgstr ""  
420 -  
421 -#: src/core/telnet.c:1784  
422 -msgid "Connect"  
423 -msgstr ""  
424 -  
425 -#: src/core/toggles/table.c:235  
426 -msgid "Connect on startup"  
427 -msgstr ""  
428 -  
429 -#: src/core/telnet.c:1764  
430 -msgid "Connected initial"  
431 -msgstr ""  
432 -  
433 -#: src/core/telnet.c:1782  
434 -msgid "Connecting"  
435 -msgstr ""  
436 -  
437 -#: src/network_modules/tools.c:160 src/core/linux/connect.c:230  
438 -#: src/core/linux/connect.c:321 src/core/linux/connect.c:338  
439 -#: src/core/windows/connect.c:358 src/core/windows/connect.c:376  
440 -#: src/core/macos/connect.c:230 src/core/macos/connect.c:321  
441 -#: src/core/macos/connect.c:338  
442 -msgid "Connection error"  
443 -msgstr ""  
444 -  
445 -#: src/network_modules/openssl/start.c:246  
446 -msgid "Connection failed"  
447 -msgstr ""  
448 -  
449 -#: src/network_modules/tools.c:122  
450 -msgid "Connection reset by peer"  
451 -msgstr ""  
452 -  
453 -#: src/core/properties/signed.c:55  
454 -msgid "Connection state"  
455 -msgstr ""  
456 -  
457 -#: src/network_modules/openssl/messages.c:80  
458 -#: src/network_modules/openssl/messages.c:253  
459 -#: src/network_modules/openssl/messages.c:268  
460 -msgid "Continue"  
461 -msgstr ""  
462 -  
463 -#: src/core/toggles/table.c:165 src/core/toggles/table.c:166  
464 -msgid "Cross hair cursor"  
465 -msgstr ""  
466 -  
467 -#: src/core/properties/unsigned.c:117  
468 -msgid "Current screen height in rows"  
469 -msgstr ""  
470 -  
471 -#: src/core/properties/unsigned.c:110  
472 -msgid "Current screen width in columns"  
473 -msgstr ""  
474 -  
475 -#: src/core/properties/signed.c:63  
476 -msgid "Cursor address"  
477 -msgstr ""  
478 -  
479 -#: src/core/actions/table.c:158  
480 -msgid "Cursor down 1 position"  
481 -msgstr ""  
482 -  
483 -#: src/core/actions/table.c:172  
484 -msgid "Cursor left 1 position"  
485 -msgstr ""  
486 -  
487 -#: src/core/actions/table.c:186  
488 -msgid "Cursor right 1 position"  
489 -msgstr ""  
490 -  
491 -#: src/core/actions/table.c:200  
492 -msgid "Cursor to first field on next line or any lines after that"  
493 -msgstr ""  
494 -  
495 -#: src/core/actions/table.c:228  
496 -msgid "Cursor to next unprotected word"  
497 -msgstr ""  
498 -  
499 -#: src/core/actions/table.c:214  
500 -msgid "Cursor to previous word"  
501 -msgstr ""  
502 -  
503 -#: src/core/actions/table.c:144  
504 -msgid "Cursor up 1 position"  
505 -msgstr ""  
506 -  
507 -#: src/core/actions/table.c:650  
508 -msgid "DUP key"  
509 -msgstr ""  
510 -  
511 -#: src/core/ft/ft_cut.c:163 src/core/ft/ft_cut.c:171  
512 -msgid "Data conversion error"  
513 -msgstr ""  
514 -  
515 -#: src/core/properties/string.c:159  
516 -msgid "Default host URL"  
517 -msgstr ""  
518 -  
519 -#: src/core/actions/table.c:635 src/core/actions/table.c:636  
520 -msgid "Delete"  
521 -msgstr ""  
522 -  
523 -#: src/core/actions/table.c:517 src/core/actions/table.c:518  
524 -msgid "Delete field"  
525 -msgstr ""  
526 -  
527 -#: src/core/actions/table.c:503  
528 -msgid "Delete word"  
529 -msgstr ""  
530 -  
531 -#: src/core/properties/string.c:173  
532 -msgid "Description of the current security state"  
533 -msgstr ""  
534 -  
535 -#: src/core/telnet.c:1175  
536 -msgid "Device type rejected"  
537 -msgstr ""  
538 -  
539 -#: src/core/actions/table.c:127  
540 -msgid "Disconnect from host"  
541 -msgstr ""  
542 -  
543 -#: src/core/ft/ft.c:244 src/network_modules/openssl/main.c:100  
544 -#: src/network_modules/openssl/main.c:148  
545 -msgid "Disconnected from host."  
546 -msgstr ""  
547 -  
548 -#: src/core/properties/string.c:120  
549 -msgid "Display charset"  
550 -msgstr ""  
551 -  
552 -#: src/core/toggles/table.c:84  
553 -msgid "Display the cursor location in the OIA (the status line)"  
554 -msgstr ""  
555 -  
556 -#: src/core/actions/table.c:157  
557 -msgid "Down"  
558 -msgstr ""  
559 -  
560 -#: src/core/actions/table.c:649  
561 -msgid "Dup"  
562 -msgstr ""  
563 -  
564 -#: src/core/telnet.c:728  
565 -msgid "EOR received when not in 3270 mode, ignored."  
566 -msgstr ""  
567 -  
568 -#: src/core/windows/http.c:157  
569 -msgid "Empty response from HTTP server."  
570 -msgstr ""  
571 -  
572 -#: src/core/toggles/table.c:298  
573 -msgid "Enable network in/out trace"  
574 -msgstr ""  
575 -  
576 -#: src/core/toggles/table.c:287  
577 -msgid "Enable network keep-alive with SO_KEEPALIVE"  
578 -msgstr ""  
579 -  
580 -#: src/core/toggles/table.c:309  
581 -msgid "Enable security negotiation trace"  
582 -msgstr ""  
583 -  
584 -#: src/core/toggles/table.c:286  
585 -msgid "Enable use of network keep alive"  
586 -msgstr ""  
587 -  
588 -#: src/core/actions/table.c:605  
589 -msgid "Enter"  
590 -msgstr ""  
591 -  
592 -#: src/core/actions/table.c:574 src/core/actions/table.c:575  
593 -msgid "Erase"  
594 -msgstr ""  
595 -  
596 -#: src/core/actions/table.c:546  
597 -msgid "Erase EOF"  
598 -msgstr ""  
599 -  
600 -#: src/core/actions/table.c:560  
601 -msgid "Erase EOL"  
602 -msgstr ""  
603 -  
604 -#: src/core/actions/table.c:547  
605 -msgid "Erase End Of Field"  
606 -msgstr ""  
607 -  
608 -#: src/core/actions/table.c:561  
609 -msgid "Erase End Of Line"  
610 -msgstr ""  
611 -  
612 -#: src/core/actions/table.c:533  
613 -msgid "Erase all unprotected fields"  
614 -msgstr ""  
615 -  
616 -#: src/core/actions/table.c:532  
617 -msgid "Erase input"  
618 -msgstr ""  
619 -  
620 -#: src/network_modules/tools.c:100  
621 -msgid "Erro sending data to host"  
622 -msgstr ""  
623 -  
624 -#: src/core/ft/ft_dft.c:413 src/core/ft/ft_cut.c:408  
625 -#, c-format  
626 -msgid "Error \"%s\" reading from local file (rc=%d)"  
627 -msgstr ""  
628 -  
629 -#: src/core/ft/ft_dft.c:306 src/core/ft/ft_cut.c:504  
630 -#, c-format  
631 -msgid "Error \"%s\" writing to local file (rc=%d)"  
632 -msgstr ""  
633 -  
634 -#: src/core/ft/ftmessages.c:45  
635 -msgid "Error in file transfer: file transfer canceled"  
636 -msgstr ""  
637 -  
638 -#: src/core/ft/ftmessages.c:87  
639 -msgid "Error reading file from host: file transfer canceled"  
640 -msgstr ""  
641 -  
642 -#: src/network_modules/openssl/main.c:170  
643 -msgid "Error reading from host"  
644 -msgstr ""  
645 -  
646 -#: src/core/windows/http.c:145  
647 -msgid "Error receiving HTTP response."  
648 -msgstr ""  
649 -  
650 -#: src/network_modules/tools.c:66 src/network_modules/tools.c:82  
651 -msgid "Error receiving data from host"  
652 -msgstr ""  
653 -  
654 -#: src/core/ft/ftmessages.c:145  
655 -msgid "Error while reading or writing to host disk: file transfer canceled"  
656 -msgstr ""  
657 -  
658 -#: src/core/ft/ftmessages.c:80  
659 -msgid "Error writing file to host: file transfer canceled"  
660 -msgstr ""  
661 -  
662 -#: src/network_modules/openssl/main.c:123  
663 -msgid "Error writing to host."  
664 -msgstr ""  
665 -  
666 -#: src/core/telnet.c:1789  
667 -msgid "Exiting"  
668 -msgstr ""  
669 -  
670 -#: src/core/actions/table.c:663  
671 -msgid "FM key"  
672 -msgstr ""  
673 -  
674 -#: src/core/actions/table.c:664  
675 -msgid "Field Mark"  
676 -msgstr ""  
677 -  
678 -#: src/core/actions/table.c:443  
679 -msgid "Field end"  
680 -msgstr ""  
681 -  
682 -#: src/core/ft/ftmessages.c:52  
683 -msgid "File transfer complete"  
684 -msgstr ""  
685 -  
686 -#: src/core/ft/ftmessages.c:59  
687 -msgid "File transfer complete with records segmented"  
688 -msgstr ""  
689 -  
690 -#: src/core/ft/ft.c:247  
691 -msgid "File transfer is already active in this session."  
692 -msgstr ""  
693 -  
694 -#: src/core/actions/table.c:457  
695 -msgid "First field"  
696 -msgstr ""  
697 -  
698 -#: src/network_modules/openssl/messages.c:215  
699 -msgid "Format error in CRL's lastUpdate field"  
700 -msgstr ""  
701 -  
702 -#: src/network_modules/openssl/messages.c:226  
703 -msgid "Format error in CRL's nextUpdate field"  
704 -msgstr ""  
705 -  
706 -#: src/network_modules/openssl/messages.c:204  
707 -msgid "Format error in certificate's notAfter field"  
708 -msgstr ""  
709 -  
710 -#: src/network_modules/openssl/messages.c:193  
711 -msgid "Format error in certificate's notBefore field"  
712 -msgstr ""  
713 -  
714 -#: src/core/properties/boolean.c:177  
715 -msgid "Formatted screen"  
716 -msgstr ""  
717 -  
718 -#: src/core/toggles/table.c:175 src/core/toggles/table.c:176  
719 -msgid "Full Screen"  
720 -msgstr ""  
721 -  
722 -#: src/core/telnet.c:1783  
723 -msgid "Half connect"  
724 -msgstr ""  
725 -  
726 -#: src/core/properties/boolean.c:156  
727 -msgid "Has selected area"  
728 -msgstr ""  
729 -  
730 -#: src/core/properties/string.c:113  
731 -msgid "Host charset"  
732 -msgstr ""  
733 -  
734 -#: src/core/ft/ft.c:620  
735 -msgid "Host disconnected, transfer cancelled"  
736 -msgstr ""  
737 -  
738 -#: src/core/telnet.c:1233  
739 -msgid "Host illegally added function(s)"  
740 -msgstr ""  
741 -  
742 -#: src/core/ft/ftmessages.c:222  
743 -msgid "Host program error code xxxxxxxxxx: file transfer canceled"  
744 -msgstr ""  
745 -  
746 -#: src/core/telnet.c:1163  
747 -msgid "Host rejected device type or request type"  
748 -msgstr ""  
749 -  
750 -#: src/core/telnet.c:1173  
751 -msgid "Host rejected resource(s)"  
752 -msgstr ""  
753 -  
754 -#: src/core/properties/string.c:90  
755 -msgid "Host type name"  
756 -msgstr ""  
757 -  
758 -#: src/core/properties/unsigned.c:90  
759 -msgid "Host type number"  
760 -msgstr ""  
761 -  
762 -#: src/core/options.c:48  
763 -msgid "IBM AS/400"  
764 -msgstr ""  
765 -  
766 -#: src/core/options.c:42  
767 -msgid "IBM S/390"  
768 -msgstr ""  
769 -  
770 -#: src/core/properties/signed.c:77  
771 -msgid "ID of the session security state"  
772 -msgstr ""  
773 -  
774 -#: src/core/toggles/table.c:197  
775 -msgid ""  
776 -"If set the characters pasted over protected areas will be skipped to avoid "  
777 -"locks"  
778 -msgstr ""  
779 -  
780 -#: src/core/toggles/table.c:217  
781 -msgid "If set the selection will not be removed on screen changes"  
782 -msgstr ""  
783 -  
784 -#: src/core/toggles/table.c:177  
785 -msgid "If set, asks to place the toplevel window in the fullscreen state"  
786 -msgstr ""  
787 -  
788 -#: src/core/toggles/table.c:147  
789 -msgid ""  
790 -"If set, puts restrictions on how pasted text is placed on the screen. The "  
791 -"position of the cursor at the time the paste operation is begun is used as a "  
792 -"left margin. No pasted text will fill any area of the screen to the left of "  
793 -"that position. This option is useful for pasting into certain IBM editors "  
794 -"that use the left side of the screen for control information"  
795 -msgstr ""  
796 -  
797 -#: src/core/toggles/table.c:105  
798 -msgid ""  
799 -"If set, the NVT terminal emulator automatically assumes a NEWLINE character "  
800 -"when it reaches the end of a line."  
801 -msgstr ""  
802 -  
803 -#: src/core/toggles/table.c:64  
804 -msgid "If set, the cursor blinks"  
805 -msgstr ""  
806 -  
807 -#: src/core/toggles/table.c:53  
808 -msgid "If set, the terminal operates in uppercase-only mode"  
809 -msgstr ""  
810 -  
811 -#: src/core/toggles/table.c:157  
812 -msgid ""  
813 -"If set, the terminal will always select rectangular areas of the screen. "  
814 -"Otherwise, it selects continuous regions of the screen"  
815 -msgstr ""  
816 -  
817 -#: src/core/toggles/table.c:167  
818 -msgid ""  
819 -"If set, the terminal will display a crosshair over the cursor: lines "  
820 -"extending the full width and height of the screen, centered over the cursor "  
821 -"position. This makes locating the cursor on the screen much easier"  
822 -msgstr ""  
823 -  
824 -#: src/core/toggles/table.c:74  
825 -msgid ""  
826 -"If set, the time taken by the host to process an AID is displayed on the "  
827 -"status line"  
828 -msgstr ""  
829 -  
830 -#: src/core/ft/ft_cut.c:484  
831 -msgid "Illegal frame length"  
832 -msgstr ""  
833 -  
834 -#: src/core/ft/ftmessages.c:138  
835 -msgid "Incorrect option specified: file transfer canceled"  
836 -msgstr ""  
837 -  
838 -#: src/core/ft/ftmessages.c:101  
839 -msgid "Incorrect request code: file transfer canceled"  
840 -msgstr ""  
841 -  
842 -#: src/core/toggles/table.c:185  
843 -msgid "Insert"  
844 -msgstr ""  
845 -  
846 -#: src/network_modules/openssl/messages.c:313  
847 -msgid "Invalid CA certificate"  
848 -msgstr ""  
849 -  
850 -#: src/core/ft/ftmessages.c:166  
851 -msgid "Invalid option xxxxxxxx with APPEND: file transfer canceled"  
852 -msgstr ""  
853 -  
854 -#: src/core/ft/ftmessages.c:180  
855 -msgid "Invalid option xxxxxxxx with PDS: file transfer canceled"  
856 -msgstr ""  
857 -  
858 -#: src/core/ft/ftmessages.c:159  
859 -msgid "Invalid option xxxxxxxx with RECEIVE: file transfer canceled"  
860 -msgstr ""  
861 -  
862 -#: src/core/ft/ftmessages.c:173  
863 -msgid "Invalid option xxxxxxxx without SPACE: file transfer canceled"  
864 -msgstr ""  
865 -  
866 -#: src/core/ft/ftmessages.c:152  
867 -msgid "Invalid option xxxxxxxx: file transfer canceled"  
868 -msgstr ""  
869 -  
870 -#: src/core/ctlr.c:176 src/core/ctlr.c:188 src/core/ctlr.c:201  
871 -#: src/core/ctlr.c:213  
872 -msgid "Invalid oversize"  
873 -msgstr ""  
874 -  
875 -#: src/core/properties/boolean.c:77  
876 -msgid "Is connection secure"  
877 -msgstr ""  
878 -  
879 -#: src/core/properties/boolean.c:170  
880 -msgid "Is starting (no first screen)?"  
881 -msgstr ""  
882 -  
883 -#: src/core/properties/boolean.c:70  
884 -msgid "Is terminal connected"  
885 -msgstr ""  
886 -  
887 -#: src/core/properties/boolean.c:149  
888 -msgid "Is terminal in the INITIAL_E state?"  
889 -msgstr ""  
890 -  
891 -#: src/core/properties/boolean.c:63  
892 -msgid "Is terminal ready"  
893 -msgstr ""  
894 -  
895 -#: src/core/toggles/table.c:215 src/core/toggles/table.c:216  
896 -msgid "Keep selected"  
897 -msgstr ""  
898 -  
899 -#: src/network_modules/openssl/messages.c:401  
900 -msgid "Key usage does not include certificate signing"  
901 -msgstr ""  
902 -  
903 -#: src/core/paste.c:375  
904 -msgid "Keyboard is locked"  
905 -msgstr ""  
906 -  
907 -#: src/core/properties/unsigned.c:169  
908 -msgid "Keyboard lock status"  
909 -msgstr ""  
910 -  
911 -#: src/core/windows/ldap.c:179  
912 -msgid "LDAP Search did not produce any attributes."  
913 -msgstr ""  
914 -  
915 -#: src/core/linux/ldap.c:147 src/core/macos/ldap.c:147  
916 -msgid "LDAP search did not produce any attributes."  
917 -msgstr ""  
918 -  
919 -#: src/core/linux/ldap.c:157 src/core/macos/ldap.c:157  
920 -msgid "LDAP search did not produce any values."  
921 -msgstr ""  
922 -  
923 -#: src/core/windows/ldap.c:186  
924 -msgid "LDAPSearch did not produce any values."  
925 -msgstr ""  
926 -  
927 -#: src/core/properties/signed.c:70  
928 -msgid "Latest program message"  
929 -msgstr ""  
930 -  
931 -#: src/core/actions/table.c:171  
932 -msgid "Left"  
933 -msgstr ""  
934 -  
935 -#: src/core/telnet.c:1786  
936 -msgid "Line mode"  
937 -msgstr ""  
938 -  
939 -#: src/core/properties/boolean.c:184  
940 -msgid "Lock keyboard on operator error"  
941 -msgstr ""  
942 -  
943 -#: src/core/toggles/table.c:145  
944 -msgid "Margined paste"  
945 -msgstr ""  
946 -  
947 -#: src/core/properties/unsigned.c:131  
948 -msgid "Maximum screen height in rows"  
949 -msgstr ""  
950 -  
951 -#: src/core/properties/unsigned.c:124  
952 -msgid "Maximum screen width in columns"  
953 -msgstr ""  
954 -  
955 -#: src/core/properties/string.c:82  
956 -msgid "Model name"  
957 -msgstr ""  
958 -  
959 -#: src/core/toggles/table.c:51  
960 -msgid "Monocase"  
961 -msgstr ""  
962 -  
963 -#: src/core/actions/table.c:329  
964 -msgid "Move cursor down and select"  
965 -msgstr ""  
966 -  
967 -#: src/core/actions/table.c:343  
968 -msgid "Move cursor left and select"  
969 -msgstr ""  
970 -  
971 -#: src/core/actions/table.c:357  
972 -msgid "Move cursor rigth and select"  
973 -msgstr ""  
974 -  
975 -#: src/core/actions/table.c:315  
976 -msgid "Move cursor up and select"  
977 -msgstr ""  
978 -  
979 -#: src/core/actions/table.c:385  
980 -msgid "Move selection down"  
981 -msgstr ""  
982 -  
983 -#: src/core/actions/table.c:399  
984 -msgid "Move selection left"  
985 -msgstr ""  
986 -  
987 -#: src/core/actions/table.c:413  
988 -msgid "Move selection right"  
989 -msgstr ""  
990 -  
991 -#: src/core/actions/table.c:371  
992 -msgid "Move selection up"  
993 -msgstr ""  
994 -  
995 -#: src/core/actions/table.c:444  
996 -msgid ""  
997 -"Move the cursor to the first blank after the last non blank in the field"  
998 -msgstr ""  
999 -  
1000 -#: src/core/actions/table.c:458  
1001 -msgid "Move to first unprotected field on screen"  
1002 -msgstr ""  
1003 -  
1004 -#: src/core/actions/table.c:472  
1005 -msgid "Move to the next unprotected field on screen"  
1006 -msgstr ""  
1007 -  
1008 -#: src/core/actions/table.c:486  
1009 -msgid "Move to the previous unprotected field on screen"  
1010 -msgstr ""  
1011 -  
1012 -#: src/core/telnet.c:304 src/core/linux/event_dispatcher.c:130  
1013 -#: src/core/linux/connect.c:200 src/core/windows/event_dispatcher.c:135  
1014 -#: src/core/windows/connect.c:223 src/core/macos/event_dispatcher.c:130  
1015 -#: src/core/macos/connect.c:200  
1016 -msgid "Network error"  
1017 -msgstr ""  
1018 -  
1019 -#: src/core/toggles/table.c:285  
1020 -msgid "Network keep alive"  
1021 -msgstr ""  
1022 -  
1023 -#: src/core/actions/table.c:199  
1024 -msgid "New line"  
1025 -msgstr ""  
1026 -  
1027 -#: src/core/actions/table.c:471  
1028 -msgid "Next field"  
1029 -msgstr ""  
1030 -  
1031 -#: src/core/actions/table.c:227  
1032 -msgid "Next word"  
1033 -msgstr ""  
1034 -  
1035 -#: src/network_modules/openssl/start.c:53  
1036 -msgid "No LDAP support"  
1037 -msgstr ""  
1038 -  
1039 -#: src/network_modules/default/main.c:149  
1040 -msgid "No TLS/SSL support on this session"  
1041 -msgstr ""  
1042 -  
1043 -#: src/core/linux/download.c:55 src/core/windows/download.c:62  
1044 -#: src/core/macos/download.c:55  
1045 -msgid "No handler for URL scheme."  
1046 -msgstr ""  
1047 -  
1048 -#: src/network_modules/openssl/messages.c:292  
1049 -msgid ""  
1050 -"No signatures could be verified because the chain contains only one "  
1051 -"certificate and it is not self signed."  
1052 -msgstr ""  
1053 -  
1054 -#: src/core/ft/ft.c:97  
1055 -msgid "No transfer in progress"  
1056 -msgstr ""  
1057 -  
1058 -#: src/core/properties/boolean.c:198  
1059 -msgid "Non zero if the download of CRL is enabled"  
1060 -msgstr ""  
1061 -  
1062 -#: src/core/properties/boolean.c:93  
1063 -msgid "Non zero if the host is AS400."  
1064 -msgstr ""  
1065 -  
1066 -#: src/core/properties/boolean.c:85  
1067 -msgid "Non zero if the host is TSO."  
1068 -msgstr ""  
1069 -  
1070 -#: src/core/windows/connect.c:307  
1071 -msgid "Not connected to host"  
1072 -msgstr ""  
1073 -  
1074 -#: src/core/ft/ft.c:626  
1075 -msgid "Not in 3270 mode, transfer cancelled"  
1076 -msgstr ""  
1077 -  
1078 -#: src/core/ft/ftmessages.c:187  
1079 -msgid "Only one of TRACKS, CYLINDERS, AVBLOCK allowed: file transfer canceled"  
1080 -msgstr ""  
1081 -  
1082 -#: src/core/options.c:54  
1083 -msgid "Other (TSO)"  
1084 -msgstr ""  
1085 -  
1086 -#: src/core/options.c:60  
1087 -msgid "Other (VM/CMS)"  
1088 -msgstr ""  
1089 -  
1090 -#: src/network_modules/openssl/messages.c:237  
1091 -msgid "Out of memory"  
1092 -msgstr ""  
1093 -  
1094 -#: src/core/actions/table.c:782 src/core/actions/table.c:796  
1095 -#: src/core/actions/table.c:810  
1096 -msgid "PA1"  
1097 -msgstr ""  
1098 -  
1099 -#: src/core/actions/table.c:241  
1100 -msgid "Paste from file"  
1101 -msgstr ""  
1102 -  
1103 -#: src/core/actions/table.c:242  
1104 -msgid "Paste from text file"  
1105 -msgstr ""  
1106 -  
1107 -#: src/core/actions/table.c:719 src/core/actions/table.c:720  
1108 -msgid "Paste next"  
1109 -msgstr ""  
1110 -  
1111 -#: src/core/toggles/table.c:146  
1112 -msgid "Paste with left margin"  
1113 -msgstr ""  
1114 -  
1115 -#: src/network_modules/openssl/messages.c:324  
1116 -msgid "Path length constraint exceeded"  
1117 -msgstr ""  
1118 -  
1119 -#: src/core/telnet.c:1763  
1120 -msgid "Pending"  
1121 -msgstr ""  
1122 -  
1123 -#: src/core/ft/ftmessages.c:66  
1124 -msgid "Personal computer filespec incorrect: file transfer canceled"  
1125 -msgstr ""  
1126 -  
1127 -#: src/core/properties/string.c:152  
1128 -msgid "Preferred protocol for CRL download"  
1129 -msgstr ""  
1130 -  
1131 -#: src/core/actions/table.c:485  
1132 -msgid "Previous field"  
1133 -msgstr ""  
1134 -  
1135 -#: src/core/actions/table.c:213  
1136 -msgid "Previous word"  
1137 -msgstr ""  
1138 -  
1139 -#: src/core/telnet.c:1788  
1140 -msgid "Printer"  
1141 -msgstr ""  
1142 -  
1143 -#: src/core/actions/table.c:783  
1144 -msgid "Program Action 1"  
1145 -msgstr ""  
1146 -  
1147 -#: src/core/actions/table.c:797  
1148 -msgid "Program Action 2"  
1149 -msgstr ""  
1150 -  
1151 -#: src/core/actions/table.c:811  
1152 -msgid "Program Action 3"  
1153 -msgstr ""  
1154 -  
1155 -#: src/core/rpq.c:229  
1156 -#, c-format  
1157 -msgid "RPQ %s term omitted due to insufficient space"  
1158 -msgstr ""  
1159 -  
1160 -#: src/core/rpq.c:338  
1161 -#, c-format  
1162 -msgid "RPQ %s term override ignored"  
1163 -msgstr ""  
1164 -  
1165 -#: src/core/rpq.c:642 src/core/rpq.c:712  
1166 -#, c-format  
1167 -msgid "RPQ ADDRESS term has unrecognized family %u"  
1168 -msgstr ""  
1169 -  
1170 -#: src/core/rpq.c:650 src/core/rpq.c:679 src/core/rpq.c:719  
1171 -msgid "RPQ ADDRESS term incomplete due to space limit"  
1172 -msgstr ""  
1173 -  
1174 -#: src/core/rpq.c:222  
1175 -msgid "RPQ Error"  
1176 -msgstr ""  
1177 -  
1178 -#: src/core/rpq.c:403 src/core/rpq.c:412  
1179 -msgid "RPQ TIMEZONE term is invalid - use +/-hhmm"  
1180 -msgstr ""  
1181 -  
1182 -#: src/core/rpq.c:520  
1183 -msgid "RPQ USER term has non-hex character"  
1184 -msgstr ""  
1185 -  
1186 -#: src/core/rpq.c:545  
1187 -msgid "RPQ USER term has odd number of hex digits"  
1188 -msgstr ""  
1189 -  
1190 -#: src/core/rpq.c:526  
1191 -#, c-format  
1192 -msgid "RPQ USER term truncated after %d bytes"  
1193 -msgstr ""  
1194 -  
1195 -#: src/core/rpq.c:570  
1196 -#, c-format  
1197 -msgid "RPQ USER term truncated after %d characters"  
1198 -msgstr ""  
1199 -  
1200 -#: src/core/rpq.c:350  
1201 -#, c-format  
1202 -msgid "RPQ term \"%s\" is unrecognized"  
1203 -msgstr ""  
1204 -  
1205 -#: src/core/rpq.c:224  
1206 -#, c-format  
1207 -msgid "RPQ term %d is unknown"  
1208 -msgstr ""  
1209 -  
1210 -#: src/core/rpq.c:465  
1211 -msgid "RPQ timezone exceeds 12 hour UTC offset"  
1212 -msgstr ""  
1213 -  
1214 -#: src/core/rpq.c:434 src/core/rpq.c:444  
1215 -msgid "RPQ: Unable to determine workstation UTC time"  
1216 -msgstr ""  
1217 -  
1218 -#: src/core/rpq.c:424  
1219 -msgid "RPQ: Unable to determine workstation local time"  
1220 -msgstr ""  
1221 -  
1222 -#: src/core/rpq.c:655  
1223 -#, c-format  
1224 -msgid "RPQ: can't resolve '%s': %s"  
1225 -msgstr ""  
1226 -  
1227 -#: src/core/rpq.c:668  
1228 -msgid "RPQ: gethostbyname error"  
1229 -msgstr ""  
1230 -  
1231 -#: src/core/actions/table.c:113  
1232 -msgid "Reconnect to the same host"  
1233 -msgstr ""  
1234 -  
1235 -#: src/core/telnet.c:1787  
1236 -msgid "Remodel"  
1237 -msgstr ""  
1238 -  
1239 -#: src/core/actions/table.c:272 src/core/actions/table.c:273  
1240 -msgid "Remove selection"  
1241 -msgstr ""  
1242 -  
1243 -#: src/core/ft/ft.c:192  
1244 -msgid "Request failed"  
1245 -msgstr ""  
1246 -  
1247 -#: src/core/ft/ftmessages.c:94  
1248 -msgid "Required host storage unavailable: file transfer canceled"  
1249 -msgstr ""  
1250 -  
1251 -#: src/core/actions/table.c:286 src/core/actions/table.c:287  
1252 -msgid "Reselect"  
1253 -msgstr ""  
1254 -  
1255 -#: src/core/actions/table.c:620  
1256 -msgid "Reset"  
1257 -msgstr ""  
1258 -  
1259 -#: src/core/actions/table.c:621  
1260 -msgid "Reset keyboard lock"  
1261 -msgstr ""  
1262 -  
1263 -#: src/core/toggles/table.c:276  
1264 -msgid "Resize on alternate screen"  
1265 -msgstr ""  
1266 -  
1267 -#: src/core/telnet.c:1762 src/core/telnet.c:1781  
1268 -msgid "Resolving"  
1269 -msgstr ""  
1270 -  
1271 -#: src/core/actions/table.c:185  
1272 -msgid "Right"  
1273 -msgstr ""  
1274 -  
1275 -#: src/core/ft/ftmessages.c:188  
1276 -msgid ""  
1277 -"SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only "  
1278 -"one option can be used."  
1279 -msgstr ""  
1280 -  
1281 -#: src/network_modules/openssl/start.c:229  
1282 -msgid "SSL negotiation failed"  
1283 -msgstr ""  
1284 -  
1285 -#: src/core/properties/unsigned.c:138  
1286 -msgid "Screen buffer length in bytes"  
1287 -msgstr ""  
1288 -  
1289 -#: src/core/properties/string.c:181  
1290 -msgid "Screen oversize if larger than the chosen model"  
1291 -msgstr ""  
1292 -  
1293 -#: src/network_modules/openssl/messages.c:52  
1294 -msgid "Secure connection was successful."  
1295 -msgstr ""  
1296 -  
1297 -#: src/core/actions/table.c:328  
1298 -msgid "Select Down"  
1299 -msgstr ""  
1300 -  
1301 -#: src/core/actions/table.c:429  
1302 -msgid "Select Field"  
1303 -msgstr ""  
1304 -  
1305 -#: src/core/actions/table.c:342  
1306 -msgid "Select Left"  
1307 -msgstr ""  
1308 -  
1309 -#: src/core/actions/table.c:314  
1310 -msgid "Select UP"  
1311 -msgstr ""  
1312 -  
1313 -#: src/core/actions/table.c:258 src/core/actions/table.c:259  
1314 -msgid "Select all"  
1315 -msgstr ""  
1316 -  
1317 -#: src/core/toggles/table.c:155 src/core/toggles/table.c:156  
1318 -msgid "Select by rectangles"  
1319 -msgstr ""  
1320 -  
1321 -#: src/core/actions/table.c:428  
1322 -msgid "Select field"  
1323 -msgstr ""  
1324 -  
1325 -#: src/core/actions/table.c:356  
1326 -msgid "Select right"  
1327 -msgstr ""  
1328 -  
1329 -#: src/core/actions/table.c:300 src/core/actions/table.c:301  
1330 -msgid "Select word"  
1331 -msgstr ""  
1332 -  
1333 -#: src/core/linux/event_dispatcher.c:131  
1334 -#: src/core/windows/event_dispatcher.c:136  
1335 -#: src/core/macos/event_dispatcher.c:131  
1336 -msgid "Select() failed when processing for events."  
1337 -msgstr ""  
1338 -  
1339 -#: src/core/actions/table.c:384  
1340 -msgid "Selection down"  
1341 -msgstr ""  
1342 -  
1343 -#: src/core/actions/table.c:398  
1344 -msgid "Selection left"  
1345 -msgstr ""  
1346 -  
1347 -#: src/core/actions/table.c:412  
1348 -msgid "Selection right"  
1349 -msgstr ""  
1350 -  
1351 -#: src/core/actions/table.c:370  
1352 -msgid "Selection up"  
1353 -msgstr ""  
1354 -  
1355 -#: src/network_modules/openssl/messages.c:252  
1356 -msgid "Self signed certificate"  
1357 -msgstr ""  
1358 -  
1359 -#: src/network_modules/openssl/messages.c:269  
1360 -msgid "Self signed certificate in certificate chain"  
1361 -msgstr ""  
1362 -  
1363 -#: src/core/actions/table.c:606  
1364 -msgid "Send an \"Enter\" action"  
1365 -msgstr ""  
1366 -  
1367 -#: src/core/toggles/table.c:186  
1368 -msgid "Set insert mode"  
1369 -msgstr ""  
1370 -  
1371 -#: src/core/toggles/table.c:265  
1372 -msgid "Show Field"  
1373 -msgstr ""  
1374 -  
1375 -#: src/core/toggles/table.c:266  
1376 -msgid "Show Field attributes"  
1377 -msgstr ""  
1378 -  
1379 -#: src/core/toggles/table.c:226  
1380 -msgid "Show Underline"  
1381 -msgstr ""  
1382 -  
1383 -#: src/core/actions/table.c:766  
1384 -msgid "Show charset table"  
1385 -msgstr ""  
1386 -  
1387 -#: src/core/actions/table.c:752  
1388 -msgid "Show test pattern"  
1389 -msgstr ""  
1390 -  
1391 -#: src/core/toggles/table.c:72 src/core/toggles/table.c:73  
1392 -msgid "Show timer when processing"  
1393 -msgstr ""  
1394 -  
1395 -#: src/core/toggles/table.c:195 src/core/toggles/table.c:196  
1396 -msgid "Smart paste"  
1397 -msgstr ""  
1398 -  
1399 -#: src/network_modules/tools.c:173 src/network_modules/tools.c:189  
1400 -msgid "Socket error"  
1401 -msgstr ""  
1402 -  
1403 -#: src/core/toggles/table.c:255  
1404 -msgid "Sound"  
1405 -msgstr ""  
1406 -  
1407 -#: src/core/properties/boolean.c:128  
1408 -msgid "State is 3270, TN3270e or SSCP"  
1409 -msgstr ""  
1410 -  
1411 -#: src/core/properties/boolean.c:163  
1412 -msgid "Still have text to paste"  
1413 -msgstr ""  
1414 -  
1415 -#: src/network_modules/openssl/messages.c:368  
1416 -msgid "Subject issuer mismatch"  
1417 -msgstr ""  
1418 -  
1419 -#: src/core/actions/table.c:733  
1420 -msgid "Sys Req"  
1421 -msgstr ""  
1422 -  
1423 -#: src/core/actions/table.c:734  
1424 -msgid "Sys Request"  
1425 -msgstr ""  
1426 -  
1427 -#: src/core/telnet.c:995  
1428 -msgid "TLS negotiation failure"  
1429 -msgstr ""  
1430 -  
1431 -#: src/core/telnet.c:1766  
1432 -msgid "TN3270 3270"  
1433 -msgstr ""  
1434 -  
1435 -#: src/core/telnet.c:1765  
1436 -msgid "TN3270 NVT"  
1437 -msgstr ""  
1438 -  
1439 -#: src/core/telnet.c:1767  
1440 -msgid "TN3270E"  
1441 -msgstr ""  
1442 -  
1443 -#: src/core/telnet.c:1770  
1444 -msgid "TN3270E 3270"  
1445 -msgstr ""  
1446 -  
1447 -#: src/core/telnet.c:1768  
1448 -msgid "TN3270E NVT"  
1449 -msgstr ""  
1450 -  
1451 -#: src/core/telnet.c:1769  
1452 -msgid "TN3270E SSCP-LU"  
1453 -msgstr ""  
1454 -  
1455 -#: src/core/properties/unsigned.c:99  
1456 -msgid "Terminal model"  
1457 -msgstr ""  
1458 -  
1459 -#: src/core/properties/string.c:104  
1460 -msgid "Terminal name"  
1461 -msgstr ""  
1462 -  
1463 -#: src/core/properties/string.c:97  
1464 -msgid "Terminal type"  
1465 -msgstr ""  
1466 -  
1467 -#: src/core/actions/table.c:751  
1468 -msgid "Test pattern"  
1469 -msgstr ""  
1470 -  
1471 -#: src/core/ft/ftmessages.c:216  
1472 -msgid ""  
1473 -"The CMS disk is full, or the maximum number of files on the minidisk (3400) "  
1474 -"has been reached, or the maximum number of data blocks per file (16060) has "  
1475 -"been reached."  
1476 -msgstr ""  
1477 -  
1478 -#: src/network_modules/openssl/messages.c:182  
1479 -msgid "The CRL has expired."  
1480 -msgstr ""  
1481 -  
1482 -#: src/network_modules/openssl/messages.c:167  
1483 -msgid "The CRL is not yet valid."  
1484 -msgstr ""  
1485 -  
1486 -#: src/network_modules/openssl/messages.c:216  
1487 -msgid "The CRL lastUpdate field contains an invalid time."  
1488 -msgstr ""  
1489 -  
1490 -#: src/network_modules/openssl/messages.c:227  
1491 -msgid "The CRL nextUpdate field contains an invalid time."  
1492 -msgstr ""  
1493 -  
1494 -#: src/network_modules/openssl/messages.c:102  
1495 -msgid ""  
1496 -"The CRL signature could not be decrypted: this means that the actual "  
1497 -"signature value could not be determined rather than it not matching the "  
1498 -"expected value. Unused."  
1499 -msgstr ""  
1500 -  
1501 -#: src/network_modules/openssl/messages.c:183  
1502 -msgid "The Certificate revocation list (CRL) has expired."  
1503 -msgstr ""  
1504 -  
1505 -#: src/network_modules/openssl/messages.c:168  
1506 -msgid "The Certificate revocation list (CRL) is not yet valid."  
1507 -msgstr ""  
1508 -  
1509 -#: src/network_modules/openssl/messages.c:79  
1510 -msgid ""  
1511 -"The Certificate revocation list (CRL) of a certificate could not be found."  
1512 -msgstr ""  
1513 -  
1514 -#: src/network_modules/openssl/main.c:124  
1515 -#: src/network_modules/openssl/main.c:171  
1516 -#, c-format  
1517 -msgid "The SSL error message was %s"  
1518 -msgstr ""  
1519 -  
1520 -#: src/core/linux/connect.c:191 src/core/macos/connect.c:191  
1521 -#, c-format  
1522 -msgid "The System error was '%s' (rc=%d)"  
1523 -msgstr ""  
1524 -  
1525 -#: src/core/linux/ldap.c:82 src/core/linux/ldap.c:91  
1526 -#: src/core/windows/ldap.c:101 src/core/windows/ldap.c:110  
1527 -#: src/core/macos/ldap.c:82 src/core/macos/ldap.c:91  
1528 -msgid "The URL argument should be in the format ldap://[HOST]/[DN]?attribute"  
1529 -msgstr ""  
1530 -  
1531 -#: src/network_modules/openssl/messages.c:325  
1532 -msgid "The basicConstraints pathlength parameter has been exceeded."  
1533 -msgstr ""  
1534 -  
1535 -#: src/network_modules/openssl/messages.c:270  
1536 -msgid ""  
1537 -"The certificate chain could be built up using the untrusted certificates but "  
1538 -"the root could not be found locally."  
1539 -msgstr ""  
1540 -  
1541 -#: src/network_modules/openssl/messages.c:303  
1542 -msgid "The certificate has been revoked."  
1543 -msgstr ""  
1544 -  
1545 -#: src/network_modules/openssl/messages.c:157  
1546 -msgid ""  
1547 -"The certificate has expired: that is the notAfter date is before the current "  
1548 -"time."  
1549 -msgstr ""  
1550 -  
1551 -#: src/network_modules/openssl/messages.c:146  
1552 -msgid ""  
1553 -"The certificate is not yet valid: the notBefore date is after the current "  
1554 -"time."  
1555 -msgstr ""  
1556 -  
1557 -#: src/network_modules/openssl/messages.c:205  
1558 -msgid "The certificate notAfter field contains an invalid time."  
1559 -msgstr ""  
1560 -  
1561 -#: src/network_modules/openssl/messages.c:194  
1562 -msgid "The certificate notBefore field contains an invalid time."  
1563 -msgstr ""  
1564 -  
1565 -#: src/network_modules/openssl/messages.c:91  
1566 -msgid ""  
1567 -"The certificate signature could not be decrypted. This means that the actual "  
1568 -"signature value could not be determined rather than it not matching the "  
1569 -"expected value, this is only meaningful for RSA keys."  
1570 -msgstr ""  
1571 -  
1572 -#: src/core/properties/unsigned.c:81  
1573 -msgid "The color type"  
1574 -msgstr ""  
1575 -  
1576 -#: src/network_modules/state.c:77  
1577 -msgid "The connection is insecure"  
1578 -msgstr ""  
1579 -  
1580 -#: src/network_modules/openssl/messages.c:53  
1581 -msgid "The connection is secure and the host identity was confirmed."  
1582 -msgstr ""  
1583 -  
1584 -#: src/network_modules/openssl/messages.c:391  
1585 -msgid ""  
1586 -"The current candidate issuer certificate was rejected because its issuer "  
1587 -"name and serial number was present and did not match the authority key "  
1588 -"identifier of the current certificate. Only displayed when the -"  
1589 -"issuer_checks option is set."  
1590 -msgstr ""  
1591 -  
1592 -#: src/network_modules/openssl/messages.c:402  
1593 -msgid ""  
1594 -"The current candidate issuer certificate was rejected because its keyUsage "  
1595 -"extension does not permit certificate signing."  
1596 -msgstr ""  
1597 -  
1598 -#: src/network_modules/openssl/messages.c:380  
1599 -msgid ""  
1600 -"The current candidate issuer certificate was rejected because its subject "  
1601 -"key identifier was present and did not match the authority key identifier "  
1602 -"current certificate. Only displayed when the -issuer_checks option is set."  
1603 -msgstr ""  
1604 -  
1605 -#: src/network_modules/openssl/messages.c:369  
1606 -msgid ""  
1607 -"The current candidate issuer certificate was rejected because its subject "  
1608 -"name did not match the issuer name of the current certificate. Only "  
1609 -"displayed when the -issuer_checks option is set."  
1610 -msgstr ""  
1611 -  
1612 -#: src/core/properties/unsigned.c:162  
1613 -msgid "The delay between the host unlocking the keyboard and the actual unlock"  
1614 -msgstr ""  
1615 -  
1616 -#: src/core/ft/ftmessages.c:60  
1617 -msgid ""  
1618 -"The file transfer operation has been completed, and any record greater than "  
1619 -"the logical record length (LRECL) of the file being appended has been "  
1620 -"divided and becomes multiple records."  
1621 -msgstr ""  
1622 -  
1623 -#: src/core/ft/ftmessages.c:53  
1624 -msgid "The file transfer operation has been successfully completed."  
1625 -msgstr ""  
1626 -  
1627 -#: src/core/ctlr.c:215  
1628 -#, c-format  
1629 -msgid "The height %d is less than model %d rows (%d)"  
1630 -msgstr ""  
1631 -  
1632 -#: src/core/ft/ftmessages.c:81 src/core/ft/ftmessages.c:88  
1633 -msgid ""  
1634 -"The host program has detected an error in the file data during a RECEIVE "  
1635 -"operation."  
1636 -msgstr ""  
1637 -  
1638 -#: src/network_modules/openssl/messages.c:281  
1639 -msgid ""  
1640 -"The issuer certificate could not be found: this occurs if the issuer "  
1641 -"certificate of an untrusted certificate cannot be found."  
1642 -msgstr ""  
1643 -  
1644 -#: src/network_modules/openssl/messages.c:64  
1645 -msgid ""  
1646 -"The issuer certificate of a looked up certificate could not be found. This "  
1647 -"normally means the list of trusted certificates is not complete."  
1648 -msgstr ""  
1649 -  
1650 -#: src/core/properties/string.c:189  
1651 -msgid "The log file name"  
1652 -msgstr ""  
1653 -  
1654 -#: src/core/properties/unsigned.c:100  
1655 -msgid "The model number"  
1656 -msgstr ""  
1657 -  
1658 -#: src/core/properties/string.c:62  
1659 -msgid "The name of the LU associated with the session"  
1660 -msgstr ""  
1661 -  
1662 -#: src/core/connect.c:170  
1663 -msgid ""  
1664 -"The network module didn't set the TLS/SSL state message, this is not "  
1665 -"supposed to happen and can be a coding error"  
1666 -msgstr ""  
1667 -  
1668 -#: src/core/ctlr.c:214  
1669 -msgid "The oversize height is too small."  
1670 -msgstr ""  
1671 -  
1672 -#: src/core/ctlr.c:177  
1673 -msgid "The oversize values are invalid."  
1674 -msgstr ""  
1675 -  
1676 -#: src/core/ctlr.c:189  
1677 -msgid "The oversize values are too big."  
1678 -msgstr ""  
1679 -  
1680 -#: src/core/ctlr.c:202  
1681 -msgid "The oversize width is too small."  
1682 -msgstr ""  
1683 -  
1684 -#: src/network_modules/openssl/messages.c:254  
1685 -msgid ""  
1686 -"The passed certificate is self signed and the same certificate cannot be "  
1687 -"found in the list of trusted certificates."  
1688 -msgstr ""  
1689 -  
1690 -#: src/network_modules/openssl/messages.c:113  
1691 -msgid ""  
1692 -"The public key in the certificate SubjectPublicKeyInfo could not be read."  
1693 -msgstr ""  
1694 -  
1695 -#: src/core/ft/ft.c:251  
1696 -msgid "The remote file name is invalid."  
1697 -msgstr ""  
1698 -  
1699 -#: src/network_modules/openssl/messages.c:358  
1700 -msgid "The root CA is marked to reject the specified purpose."  
1701 -msgstr ""  
1702 -  
1703 -#: src/network_modules/openssl/messages.c:347  
1704 -msgid "The root CA is not marked as trusted for the specified purpose."  
1705 -msgstr ""  
1706 -  
1707 -#: src/network_modules/openssl/main.c:102  
1708 -#: src/network_modules/openssl/main.c:150  
1709 -msgid "The secure connection has been closed cleanly."  
1710 -msgstr ""  
1711 -  
1712 -#: src/core/properties/string.c:166  
1713 -msgid "The security state"  
1714 -msgstr ""  
1715 -  
1716 -#: src/network_modules/default/main.c:148  
1717 -msgid "The session is not secure"  
1718 -msgstr ""  
1719 -  
1720 -#: src/network_modules/openssl/messages.c:124  
1721 -#: src/network_modules/openssl/messages.c:135  
1722 -msgid "The signature of the certificate is invalid."  
1723 -msgstr ""  
1724 -  
1725 -#: src/network_modules/openssl/messages.c:336  
1726 -msgid "The supplied certificate cannot be used for the specified purpose."  
1727 -msgstr ""  
1728 -  
1729 -#: src/network_modules/tools.c:114 src/network_modules/tools.c:123  
1730 -#, c-format  
1731 -msgid "The system error code was %d"  
1732 -msgstr ""  
1733 -  
1734 -#: src/network_modules/tools.c:83 src/network_modules/tools.c:135  
1735 -#, c-format  
1736 -msgid "The system error code was %d (%s)"  
1737 -msgstr ""  
1738 -  
1739 -#: src/core/windows/connect.c:239  
1740 -#, c-format  
1741 -msgid "The system error was \"%s\""  
1742 -msgstr ""  
1743 -  
1744 -#: src/core/linux/connect.c:222 src/core/linux/connect.c:282  
1745 -#: src/core/windows/connect.c:298 src/core/windows/connect.c:306  
1746 -#: src/core/windows/connect.c:314 src/core/windows/connect.c:324  
1747 -#: src/core/macos/connect.c:222 src/core/macos/connect.c:282  
1748 -#, c-format  
1749 -msgid "The system error was \"%s\" (rc=%d)"  
1750 -msgstr ""  
1751 -  
1752 -#: src/core/windows/connect.c:225 src/core/windows/connect.c:360  
1753 -#: src/core/windows/connect.c:378  
1754 -#, c-format  
1755 -msgid "The system error was %s"  
1756 -msgstr ""  
1757 -  
1758 -#: src/core/util.c:266  
1759 -#, c-format  
1760 -msgid "The system error was '%s' (rc=%d)"  
1761 -msgstr ""  
1762 -  
1763 -#: src/core/properties/string.c:197  
1764 -msgid "The trace file name"  
1765 -msgstr ""  
1766 -  
1767 -#: src/core/ctlr.c:203  
1768 -#, c-format  
1769 -msgid "The width %d is less than model %d columns (%d)"  
1770 -msgstr ""  
1771 -  
1772 -#: src/network_modules/tools.c:67 src/network_modules/tools.c:101  
1773 -#, c-format  
1774 -msgid "The windows error code was %u"  
1775 -msgstr ""  
1776 -  
1777 -#: src/core/ft/ftmessages.c:146  
1778 -msgid "There is not enough space available for data on the host."  
1779 -msgstr ""  
1780 -  
1781 -#: src/core/ft/ftmessages.c:223  
1782 -msgid "This is a host program error."  
1783 -msgstr ""  
1784 -  
1785 -#: src/core/properties/unsigned.c:146  
1786 -msgid "Time for auto-reconnect"  
1787 -msgstr ""  
1788 -  
1789 -#: src/core/windows/connect.c:299  
1790 -msgid "Timeout conneting to host"  
1791 -msgstr ""  
1792 -  
1793 -#: src/core/toggles/table.c:93 src/core/toggles/table.c:94  
1794 -msgid "Trace Data Stream"  
1795 -msgstr ""  
1796 -  
1797 -#: src/core/toggles/table.c:135  
1798 -msgid "Trace Events"  
1799 -msgstr ""  
1800 -  
1801 -#: src/core/toggles/table.c:296  
1802 -msgid "Trace Network"  
1803 -msgstr ""  
1804 -  
1805 -#: src/core/toggles/table.c:308  
1806 -msgid "Trace SSL negotiation"  
1807 -msgstr ""  
1808 -  
1809 -#: src/core/toggles/table.c:124  
1810 -msgid "Trace Screen"  
1811 -msgstr ""  
1812 -  
1813 -#: src/core/toggles/table.c:307  
1814 -msgid "Trace Security"  
1815 -msgstr ""  
1816 -  
1817 -#: src/core/toggles/table.c:136  
1818 -msgid "Trace interface and application events"  
1819 -msgstr ""  
1820 -  
1821 -#: src/core/toggles/table.c:297  
1822 -msgid "Trace network data flow"  
1823 -msgstr ""  
1824 -  
1825 -#: src/core/toggles/table.c:125  
1826 -msgid "Trace screen contents"  
1827 -msgstr ""  
1828 -  
1829 -#: src/core/toggles/table.c:82  
1830 -msgid "Track Cursor"  
1831 -msgstr ""  
1832 -  
1833 -#: src/core/toggles/table.c:83  
1834 -msgid "Track Cursor location"  
1835 -msgstr ""  
1836 -  
1837 -#: src/core/ft/ft_cut.c:360  
1838 -msgid "Transfer cancelled by host"  
1839 -msgstr ""  
1840 -  
1841 -#: src/core/ft/ft_dft.c:213 src/core/ft/ft_dft.c:344 src/core/ft/ft_cut.c:387  
1842 -#: src/core/ft/ft_cut.c:475  
1843 -msgid "Transfer cancelled by user"  
1844 -msgstr ""  
1845 -  
1846 -#: src/core/ft/ft.c:526  
1847 -msgid "Transfer complete"  
1848 -msgstr ""  
1849 -  
1850 -#: src/core/ft/ft.c:530  
1851 -msgid "Transfer failed"  
1852 -msgstr ""  
1853 -  
1854 -#: src/core/ft/ft_cut.c:447  
1855 -msgid "Transmission error"  
1856 -msgstr ""  
1857 -  
1858 -#: src/core/linux/connect.c:166 src/core/windows/connect.c:198  
1859 -#: src/core/macos/connect.c:166  
1860 -msgid "Try again"  
1861 -msgstr ""  
1862 -  
1863 -#: src/core/properties/string.c:74  
1864 -msgid "URL of the current host"  
1865 -msgstr ""  
1866 -  
1867 -#: src/core/ft/ft_dft.c:161  
1868 -msgid "Uknown DFT Open type from host"  
1869 -msgstr ""  
1870 -  
1871 -#: src/network_modules/openssl/messages.c:112  
1872 -msgid "Unable to decode issuer public key"  
1873 -msgstr ""  
1874 -  
1875 -#: src/network_modules/openssl/messages.c:101  
1876 -msgid "Unable to decrypt CRL's signature"  
1877 -msgstr ""  
1878 -  
1879 -#: src/network_modules/openssl/messages.c:90  
1880 -msgid "Unable to decrypt certificate's signature"  
1881 -msgstr ""  
1882 -  
1883 -#: src/network_modules/openssl/messages.c:78  
1884 -msgid "Unable to get certificate CRL."  
1885 -msgstr ""  
1886 -  
1887 -#: src/core/linux/connect.c:201 src/core/windows/connect.c:224  
1888 -#: src/core/macos/connect.c:201  
1889 -msgid "Unable to get connection state."  
1890 -msgstr ""  
1891 -  
1892 -#: src/network_modules/openssl/messages.c:63  
1893 -msgid "Unable to get issuer certificate"  
1894 -msgstr ""  
1895 -  
1896 -#: src/network_modules/openssl/messages.c:280  
1897 -msgid "Unable to get local issuer certificate"  
1898 -msgstr ""  
1899 -  
1900 -#: src/core/session.c:176  
1901 -msgid "Unable to load from file"  
1902 -msgstr ""  
1903 -  
1904 -#: src/network_modules/openssl/start.c:247  
1905 -msgid "Unable to negotiate a secure connection with the host"  
1906 -msgstr ""  
1907 -  
1908 -#: src/core/paste.c:374  
1909 -msgid "Unable to paste text"  
1910 -msgstr ""  
1911 -  
1912 -#: src/core/session.c:164  
1913 -msgid "Unable to print"  
1914 -msgstr ""  
1915 -  
1916 -#: src/core/session.c:170  
1917 -msgid "Unable to save"  
1918 -msgstr ""  
1919 -  
1920 -#: src/core/ft/ft.c:478  
1921 -msgid "Unable to send file-transfer request"  
1922 -msgstr ""  
1923 -  
1924 -#: src/network_modules/openssl/messages.c:291  
1925 -msgid "Unable to verify the first certificate"  
1926 -msgstr ""  
1927 -  
1928 -#: src/core/telnet.c:1761  
1929 -msgid "Unconnected"  
1930 -msgstr ""  
1931 -  
1932 -#: src/core/toggles/table.c:225  
1933 -msgid "Underline"  
1934 -msgstr ""  
1935 -  
1936 -#: src/network_modules/openssl/start.c:268  
1937 -msgid "Unexpected I/O error"  
1938 -msgstr ""  
1939 -  
1940 -#: src/core/paste.c:375  
1941 -msgid "Unexpected error"  
1942 -msgstr ""  
1943 -  
1944 -#: src/network_modules/tools.c:134  
1945 -msgid "Unexpected error writing to network socket"  
1946 -msgstr ""  
1947 -  
1948 -#: src/core/keyboard/kybd.c:269  
1949 -#, c-format  
1950 -msgid "Unexpected type %d in typeahead queue"  
1951 -msgstr ""  
1952 -  
1953 -#: src/core/telnet.c:1774 src/core/telnet.c:1794  
1954 -msgid "Unknown"  
1955 -msgstr ""  
1956 -  
1957 -#: src/core/ctlr.c:626  
1958 -#, c-format  
1959 -msgid "Unknown 3270 Data Stream command: 0x%X"  
1960 -msgstr ""  
1961 -  
1962 -#: src/core/ft/ft_cut.c:368  
1963 -msgid "Unknown FT control code from host"  
1964 -msgstr ""  
1965 -  
1966 -#: src/core/keyboard/kybd.c:1547  
1967 -#, c-format  
1968 -msgid "Unknown PA key %d"  
1969 -msgstr ""  
1970 -  
1971 -#: src/core/keyboard/kybd.c:1560  
1972 -#, c-format  
1973 -msgid "Unknown PF key %d"  
1974 -msgstr ""  
1975 -  
1976 -#: src/core/ft/ft_cut.c:297  
1977 -msgid "Unknown frame type from host"  
1978 -msgstr ""  
1979 -  
1980 -#: src/core/properties/unsigned.c:161  
1981 -msgid "Unlock delay"  
1982 -msgstr ""  
1983 -  
1984 -#: src/core/rpq.c:223  
1985 -msgid "Unsupported RPQ term"  
1986 -msgstr ""  
1987 -  
1988 -#: src/network_modules/openssl/messages.c:335  
1989 -msgid "Unsupported certificate purpose"  
1990 -msgstr ""  
1991 -  
1992 -#: src/core/actions/table.c:143  
1993 -msgid "Up"  
1994 -msgstr ""  
1995 -  
1996 -#: src/core/toggles/table.c:52  
1997 -msgid "Uppercase only"  
1998 -msgstr ""  
1999 -  
2000 -#: src/core/toggles/table.c:245 src/core/toggles/table.c:246  
2001 -msgid "Use +/- for field navigation"  
2002 -msgstr ""  
2003 -  
2004 -#: src/core/toggles/table.c:247  
2005 -msgid "Use the keys +/- from keypad to select editable fields"  
2006 -msgstr ""  
2007 -  
2008 -#: src/core/windows/connect.c:111  
2009 -msgid "WSAStartup failed"  
2010 -msgstr ""  
2011 -  
2012 -#: src/core/ft/ft.c:487  
2013 -msgid "Waiting for GET response"  
2014 -msgstr ""  
2015 -  
2016 -#: src/core/ft/ft.c:489  
2017 -msgid "Waiting for PUT response"  
2018 -msgstr ""  
2019 -  
2020 -#: src/core/telnet.c:727  
2021 -msgid "Warning"  
2022 -msgstr ""  
2023 -  
2024 -#: src/core/windows/util.c:124 src/core/windows/util.c:167  
2025 -#, c-format  
2026 -msgid "Windows error %d"  
2027 -msgstr ""  
2028 -  
2029 -#: src/core/toggles/table.c:103 src/core/toggles/table.c:104  
2030 -msgid "Wrap around"  
2031 -msgstr ""  
2032 -  
2033 -#: src/core/ft/ftmessages.c:74  
2034 -msgid ""  
2035 -"You did not enter the required parameters after a SEND or RECEIVE command."  
2036 -msgstr ""  
2037 -  
2038 -#: src/core/ft/ftmessages.c:195  
2039 -msgid "You did not specify an existing CMS file for RECEIVE."  
2040 -msgstr ""  
2041 -  
2042 -#: src/core/ft/ftmessages.c:95  
2043 -msgid ""  
2044 -"You need 30 KB of main storage (not disk space) on the host for the file "  
2045 -"transfer, in addition to the host requirement."  
2046 -msgstr ""  
2047 -  
2048 -#: src/core/ft/ftmessages.c:174  
2049 -msgid ""  
2050 -"You selected an option that can only be used if SPACE is also specified."  
2051 -msgstr ""  
2052 -  
2053 -#: src/core/ft/ftmessages.c:153  
2054 -msgid ""  
2055 -"You selected an option that is either not recognized, is specified as a "  
2056 -"positional keyword, or has an associated value that is incorrect."  
2057 -msgstr ""  
2058 -  
2059 -#: src/core/ft/ftmessages.c:181  
2060 -msgid ""  
2061 -"You selected an option that is invalid with a host-partitioned data set."  
2062 -msgstr ""  
2063 -  
2064 -#: src/core/ft/ftmessages.c:167  
2065 -msgid ""  
2066 -"You selected an option that is not valid with APPEND, but otherwise may be "  
2067 -"used."  
2068 -msgstr ""  
2069 -  
2070 -#: src/core/ft/ftmessages.c:160  
2071 -msgid ""  
2072 -"You selected an option that is not valid with RECEIVE, but can be used with "  
2073 -"SEND."  
2074 -msgstr ""  
2075 -  
2076 -#: src/core/ft/ftmessages.c:202  
2077 -msgid ""  
2078 -"You specified a CMS file mode for the SEND key that does not allow write "  
2079 -"access."  
2080 -msgstr ""  
2081 -  
2082 -#: src/core/ft/ftmessages.c:209  
2083 -msgid "You specified a CMS file mode that is not in the CMS search order."  
2084 -msgstr ""  
2085 -  
2086 -#: src/core/ft/ftmessages.c:139  
2087 -msgid "You specified an option that is invalid."  
2088 -msgstr ""  
2089 -  
2090 -#: src/core/actions/table.c:126  
2091 -msgid "_Disconnect"  
2092 -msgstr ""  
2093 -  
2094 -#: src/core/actions/table.c:112  
2095 -msgid "_Reconnect"  
2096 -msgstr ""  
2097 -  
2098 -#: src/core/linux/connect.c:233 src/core/linux/connect.c:302  
2099 -#: src/core/windows/connect.c:340 src/core/macos/connect.c:233  
2100 -#: src/core/macos/connect.c:302  
2101 -msgid "_Retry"  
2102 -msgstr ""  
2103 -  
2104 -#: src/core/toggles/init.c:83 src/core/linux/connect.c:334  
2105 -#: src/core/windows/connect.c:372 src/core/macos/connect.c:334  
2106 -msgid "disable"  
2107 -msgstr ""  
2108 -  
2109 -#: src/core/toggles/init.c:83 src/core/linux/connect.c:334  
2110 -#: src/core/windows/connect.c:372 src/core/macos/connect.c:334  
2111 -msgid "enable"  
2112 -msgstr ""  
2113 -  
2114 -#: src/network_modules/tools.c:174  
2115 -msgid "fcntl() error when getting socket state."  
2116 -msgstr ""  
2117 -  
2118 -#: src/network_modules/tools.c:161  
2119 -msgid "ioctlsocket(FIONBIO) failed."  
2120 -msgstr ""  
2121 -  
2122 -#: src/core/properties/string.c:134  
2123 -msgid "lib3270 revision"  
2124 -msgstr ""  
2125 -  
2126 -#: src/core/properties/string.c:127  
2127 -msgid "lib3270 version"  
2128 -msgstr ""  
2129 -  
2130 -#: src/core/properties/boolean.c:191  
2131 -msgid "numeric lock"  
2132 -msgstr ""  
2133 -  
2134 -#: src/core/linux/connect.c:322 src/core/windows/connect.c:359  
2135 -#: src/core/macos/connect.c:322  
2136 -msgid "setsockopt(SO_OOBINLINE) has failed"  
2137 -msgstr ""  
locale/pt_BR.po
@@ -5,7 +5,7 @@ msgid &quot;&quot; @@ -5,7 +5,7 @@ msgid &quot;&quot;
5 msgstr "" 5 msgstr ""
6 "Project-Id-Version: pw3270 5.0\n" 6 "Project-Id-Version: pw3270 5.0\n"
7 "Report-Msgid-Bugs-To: \n" 7 "Report-Msgid-Bugs-To: \n"
8 -"POT-Creation-Date: 2023-03-28 21:15-0300\n" 8 +"POT-Creation-Date: 2023-06-16 13:05-0300\n"
9 "PO-Revision-Date: 2023-04-21 08:40-0300\n" 9 "PO-Revision-Date: 2023-04-21 08:40-0300\n"
10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11 "Language-Team: Brazilian Portuguese <perry.werneck@gmail.com>\n" 11 "Language-Team: Brazilian Portuguese <perry.werneck@gmail.com>\n"
@@ -19,12 +19,12 @@ msgstr &quot;&quot; @@ -19,12 +19,12 @@ msgstr &quot;&quot;
19 "Plural-Forms: nplurals=2; plural=(n > 1)\n" 19 "Plural-Forms: nplurals=2; plural=(n > 1)\n"
20 "X-Generator: Gtranslator 40.0\n" 20 "X-Generator: Gtranslator 40.0\n"
21 21
22 -#: src/core/ctlr.c:178 22 +#: src/core/ctlr.c:173
23 #, c-format 23 #, c-format
24 msgid "%dx%d is negative or zero" 24 msgid "%dx%d is negative or zero"
25 msgstr "%dx%d é negativa ou zero" 25 msgstr "%dx%d é negativa ou zero"
26 26
27 -#: src/core/ctlr.c:190 27 +#: src/core/ctlr.c:183
28 #, c-format 28 #, c-format
29 msgid "%dx%d screen size is bigger than the maximum size" 29 msgid "%dx%d screen size is bigger than the maximum size"
30 msgstr "Tela %dx%d é maior que o tamanho máximo" 30 msgstr "Tela %dx%d é maior que o tamanho máximo"
@@ -227,7 +227,8 @@ msgstr &quot;Arquivo CMS não encontrado, transferência cancelada&quot; @@ -227,7 +227,8 @@ msgstr &quot;Arquivo CMS não encontrado, transferência cancelada&quot;
227 msgid "CRL signature failure" 227 msgid "CRL signature failure"
228 msgstr "Erro na assinatura CRL" 228 msgstr "Erro na assinatura CRL"
229 229
230 -#: src/core/toggles/init.c:83 src/core/windows/connect.c:372 230 +#: src/core/toggles/init.c:83 src/core/linux/connect.c:334
  231 +#: src/core/windows/connect.c:372 src/core/macos/connect.c:334
231 #, c-format 232 #, c-format
232 msgid "Can't %s network keep-alive" 233 msgid "Can't %s network keep-alive"
233 msgstr "Não foi possível %s opção \"keep-alive\"" 234 msgstr "Não foi possível %s opção \"keep-alive\""
@@ -236,7 +237,9 @@ msgstr &quot;Não foi possível %s opção \&quot;keep-alive\&quot;&quot; @@ -236,7 +237,9 @@ msgstr &quot;Não foi possível %s opção \&quot;keep-alive\&quot;&quot;
236 msgid "Can't bind to LDAP server" 237 msgid "Can't bind to LDAP server"
237 msgstr "Não foi possível conectar ao servidor LDAP" 238 msgstr "Não foi possível conectar ao servidor LDAP"
238 239
  240 +#: src/core/linux/connect.c:215 src/core/linux/connect.c:269
239 #: src/core/windows/connect.c:232 src/core/windows/connect.c:276 241 #: src/core/windows/connect.c:232 src/core/windows/connect.c:276
  242 +#: src/core/macos/connect.c:215 src/core/macos/connect.c:269
240 #, c-format 243 #, c-format
241 msgid "Can't connect to %s:%s" 244 msgid "Can't connect to %s:%s"
242 msgstr "Não foi possível conectar a %s:%s" 245 msgstr "Não foi possível conectar a %s:%s"
@@ -245,7 +248,8 @@ msgstr &quot;Não foi possível conectar a %s:%s&quot; @@ -245,7 +248,8 @@ msgstr &quot;Não foi possível conectar a %s:%s&quot;
245 msgid "Can't connect to HTTP server." 248 msgid "Can't connect to HTTP server."
246 msgstr "Não foi possível conectar ao servidor HTTP" 249 msgstr "Não foi possível conectar ao servidor HTTP"
247 250
248 -#: src/core/windows/connect.c:197 251 +#: src/core/linux/connect.c:165 src/core/windows/connect.c:197
  252 +#: src/core/macos/connect.c:165
249 msgid "Can't connect to host" 253 msgid "Can't connect to host"
250 msgstr "Não foi possível conectar no host" 254 msgstr "Não foi possível conectar no host"
251 255
@@ -257,7 +261,8 @@ msgstr &quot;Não foi possível criar requisição HTTP&quot; @@ -257,7 +261,8 @@ msgstr &quot;Não foi possível criar requisição HTTP&quot;
257 msgid "Can't decode CRL data" 261 msgid "Can't decode CRL data"
258 msgstr "Não foi possível decodificar dados do CRL" 262 msgstr "Não foi possível decodificar dados do CRL"
259 263
260 -#: src/core/windows/ldap.c:204 264 +#: src/core/linux/ldap.c:167 src/core/windows/ldap.c:204
  265 +#: src/core/macos/ldap.c:167
261 msgid "Can't decode certificate revocation list" 266 msgid "Can't decode certificate revocation list"
262 msgstr "Não foi possível decodificar a lista de certificados revogados" 267 msgstr "Não foi possível decodificar a lista de certificados revogados"
263 268
@@ -273,7 +278,11 @@ msgstr &quot;Não foi possível obter o tamanho do arquivo&quot; @@ -273,7 +278,11 @@ msgstr &quot;Não foi possível obter o tamanho do arquivo&quot;
273 msgid "Can't initialize LDAP" 278 msgid "Can't initialize LDAP"
274 msgstr "Erro ao inicializar LDAP" 279 msgstr "Erro ao inicializar LDAP"
275 280
276 -#: src/network_modules/openssl/context.c:240 281 +#: src/core/linux/curl.c:171 src/core/macos/curl.c:171
  282 +msgid "Can't initialize curl operation"
  283 +msgstr "Erro ao inicializar operação CURL"
  284 +
  285 +#: src/network_modules/openssl/context.c:236
277 msgid "Can't initialize the TLS/SSL context." 286 msgid "Can't initialize the TLS/SSL context."
278 msgstr "Erro ao inicializar contexto TLS/SSL" 287 msgstr "Erro ao inicializar contexto TLS/SSL"
279 288
@@ -281,17 +290,17 @@ msgstr &quot;Erro ao inicializar contexto TLS/SSL&quot; @@ -281,17 +290,17 @@ msgstr &quot;Erro ao inicializar contexto TLS/SSL&quot;
281 msgid "Can't load" 290 msgid "Can't load"
282 msgstr "Não foi possível carregar" 291 msgstr "Não foi possível carregar"
283 292
284 -#: src/network_modules/openssl/context.c:342 293 +#: src/network_modules/openssl/context.c:338
285 #, c-format 294 #, c-format
286 msgid "Can't load \"%s\": %s" 295 msgid "Can't load \"%s\": %s"
287 msgstr "Não foi possível carregar \"%s\": %s" 296 msgstr "Não foi possível carregar \"%s\": %s"
288 297
289 -#: src/network_modules/openssl/context.c:295 298 +#: src/network_modules/openssl/context.c:291
290 #, c-format 299 #, c-format
291 msgid "Can't open \"%s\" (The Windows error code was %ld)" 300 msgid "Can't open \"%s\" (The Windows error code was %ld)"
292 msgstr "Não foi possível abrir \"%s\" (O código de erro windows foi %ld)" 301 msgstr "Não foi possível abrir \"%s\" (O código de erro windows foi %ld)"
293 302
294 -#: src/network_modules/openssl/context.c:308 303 +#: src/network_modules/openssl/context.c:304
295 #, c-format 304 #, c-format
296 msgid "Can't open \"%s\": %s" 305 msgid "Can't open \"%s\": %s"
297 msgstr "Não foi possível abrir %s: %s" 306 msgstr "Não foi possível abrir %s: %s"
@@ -304,7 +313,7 @@ msgstr &quot;Não foi possível abrir sessão HTTP&quot; @@ -304,7 +313,7 @@ msgstr &quot;Não foi possível abrir sessão HTTP&quot;
304 msgid "Can't print" 313 msgid "Can't print"
305 msgstr "Não é possível imprimir" 314 msgstr "Não é possível imprimir"
306 315
307 -#: src/network_modules/openssl/context.c:326 316 +#: src/network_modules/openssl/context.c:322
308 #, c-format 317 #, c-format
309 msgid "Can't read \"%s\": %s" 318 msgid "Can't read \"%s\": %s"
310 msgstr "Não foi possível ler \"%s\": %s" 319 msgstr "Não foi possível ler \"%s\": %s"
@@ -355,15 +364,15 @@ msgstr &quot;&quot; @@ -355,15 +364,15 @@ msgstr &quot;&quot;
355 "Não foi possível criar uma nova estrutura de controle SSL para a conexão " 364 "Não foi possível criar uma nova estrutura de controle SSL para a conexão "
356 "atual." 365 "atual."
357 366
358 -#: src/network_modules/openssl/context.c:336 367 +#: src/network_modules/openssl/context.c:332
359 msgid "Cant load custom certificate file." 368 msgid "Cant load custom certificate file."
360 msgstr "Não foi possível ler arquivo de certificado personalizado" 369 msgstr "Não foi possível ler arquivo de certificado personalizado"
361 370
362 -#: src/network_modules/openssl/context.c:290 371 +#: src/network_modules/openssl/context.c:286
363 msgid "Cant open custom certificate directory." 372 msgid "Cant open custom certificate directory."
364 msgstr "Não foi possível abrir o diretório de certificados personalizados" 373 msgstr "Não foi possível abrir o diretório de certificados personalizados"
365 374
366 -#: src/network_modules/openssl/context.c:320 375 +#: src/network_modules/openssl/context.c:316
367 msgid "Cant read custom certificate file." 376 msgid "Cant read custom certificate file."
368 msgstr "Não foi possível ler certificado personalizado" 377 msgstr "Não foi possível ler certificado personalizado"
369 378
@@ -431,16 +440,54 @@ msgstr &quot;Conectar&quot; @@ -431,16 +440,54 @@ msgstr &quot;Conectar&quot;
431 msgid "Connect on startup" 440 msgid "Connect on startup"
432 msgstr "Conectar ao iniciar" 441 msgstr "Conectar ao iniciar"
433 442
  443 +#: src/core/properties/signed.c:46
  444 +msgid "Connected in NVT ANSI mode"
  445 +msgstr ""
  446 +
  447 +#: src/core/properties/signed.c:51
  448 +msgid "Connected in TN3270E mode, 3270 mode"
  449 +msgstr ""
  450 +
  451 +#: src/core/properties/signed.c:49
  452 +msgid "Connected in TN3270E mode, NVT mode"
  453 +msgstr ""
  454 +
  455 +#: src/core/properties/signed.c:50
  456 +msgid "Connected in TN3270E mode, SSCP-LU mode"
  457 +msgstr ""
  458 +
  459 +#: src/core/properties/signed.c:48
  460 +#, fuzzy
  461 +msgid "Connected in TN3270E mode, no negotiated"
  462 +msgstr "Não está no modo 3270, transferência cancelada"
  463 +
  464 +#: src/core/properties/signed.c:47
  465 +msgid "Connected in old-style 3270 mode"
  466 +msgstr ""
  467 +
434 #: src/core/telnet.c:1764 468 #: src/core/telnet.c:1764
435 msgid "Connected initial" 469 msgid "Connected initial"
436 msgstr "Connected initial" 470 msgstr "Connected initial"
437 471
  472 +#: src/core/properties/signed.c:45
  473 +#, fuzzy
  474 +msgid "Connected, no mode yet"
  475 +msgstr "Connected initial"
  476 +
438 #: src/core/telnet.c:1782 477 #: src/core/telnet.c:1782
439 msgid "Connecting" 478 msgid "Connecting"
440 msgstr "Conectando" 479 msgstr "Conectando"
441 480
  481 +#: src/core/properties/signed.c:43
  482 +#, fuzzy
  483 +msgid "Connecting to host"
  484 +msgstr "Não foi possível conectar no host"
  485 +
  486 +#: src/network_modules/tools.c:160 src/core/linux/connect.c:230
  487 +#: src/core/linux/connect.c:321 src/core/linux/connect.c:338
442 #: src/core/windows/connect.c:358 src/core/windows/connect.c:376 488 #: src/core/windows/connect.c:358 src/core/windows/connect.c:376
443 -#: src/network_modules/tools.c:160 489 +#: src/core/macos/connect.c:230 src/core/macos/connect.c:321
  490 +#: src/core/macos/connect.c:338
444 msgid "Connection error" 491 msgid "Connection error"
445 msgstr "Erro de conexão" 492 msgstr "Erro de conexão"
446 493
@@ -448,11 +495,25 @@ msgstr &quot;Erro de conexão&quot; @@ -448,11 +495,25 @@ msgstr &quot;Erro de conexão&quot;
448 msgid "Connection failed" 495 msgid "Connection failed"
449 msgstr "Conexão falhou" 496 msgstr "Conexão falhou"
450 497
  498 +#: src/core/properties/signed.c:44
  499 +#, fuzzy
  500 +msgid "Connection pending"
  501 +msgstr "Conexão falhou"
  502 +
451 #: src/network_modules/tools.c:122 503 #: src/network_modules/tools.c:122
452 msgid "Connection reset by peer" 504 msgid "Connection reset by peer"
453 msgstr "Conexão foi cancelada pelo servidor" 505 msgstr "Conexão foi cancelada pelo servidor"
454 506
455 -#: src/core/properties/signed.c:55 507 +#: src/core/properties/signed.c:96
  508 +#, fuzzy
  509 +msgid "Connection secure with CA check"
  510 +msgstr "A conexão é segura ?"
  511 +
  512 +#: src/core/properties/signed.c:97
  513 +msgid "Connection secure, no CA, self-signed or expired CRL"
  514 +msgstr ""
  515 +
  516 +#: src/core/properties/signed.c:121
456 msgid "Connection state" 517 msgid "Connection state"
457 msgstr "Estado da conexão" 518 msgstr "Estado da conexão"
458 519
@@ -466,15 +527,15 @@ msgstr &quot;Continuar&quot; @@ -466,15 +527,15 @@ msgstr &quot;Continuar&quot;
466 msgid "Cross hair cursor" 527 msgid "Cross hair cursor"
467 msgstr "Cursor mira" 528 msgstr "Cursor mira"
468 529
469 -#: src/core/properties/unsigned.c:117 530 +#: src/core/properties/unsigned.c:113
470 msgid "Current screen height in rows" 531 msgid "Current screen height in rows"
471 msgstr "Altura atual da tela em linhas" 532 msgstr "Altura atual da tela em linhas"
472 533
473 -#: src/core/properties/unsigned.c:110 534 +#: src/core/properties/unsigned.c:106
474 msgid "Current screen width in columns" 535 msgid "Current screen width in columns"
475 msgstr "Largura atua da tela em colunas" 536 msgstr "Largura atua da tela em colunas"
476 537
477 -#: src/core/properties/signed.c:63 538 +#: src/core/properties/signed.c:130
478 msgid "Cursor address" 539 msgid "Cursor address"
479 msgstr "Endereço do cursor" 540 msgstr "Endereço do cursor"
480 541
@@ -516,7 +577,7 @@ msgstr &quot;Tecla \&quot;DUP\&quot;&quot; @@ -516,7 +577,7 @@ msgstr &quot;Tecla \&quot;DUP\&quot;&quot;
516 msgid "Data conversion error" 577 msgid "Data conversion error"
517 msgstr "Erro na conversão de dados" 578 msgstr "Erro na conversão de dados"
518 579
519 -#: src/core/properties/string.c:159 580 +#: src/core/properties/string.c:143
520 msgid "Default host URL" 581 msgid "Default host URL"
521 msgstr "URL parão para acesso ao host" 582 msgstr "URL parão para acesso ao host"
522 583
@@ -532,7 +593,7 @@ msgstr &quot;Apagar campo&quot; @@ -532,7 +593,7 @@ msgstr &quot;Apagar campo&quot;
532 msgid "Delete word" 593 msgid "Delete word"
533 msgstr "Apaga palavra" 594 msgstr "Apaga palavra"
534 595
535 -#: src/core/properties/string.c:173 596 +#: src/core/properties/string.c:157
536 msgid "Description of the current security state" 597 msgid "Description of the current security state"
537 msgstr "Descrição do estado de segurança atual" 598 msgstr "Descrição do estado de segurança atual"
538 599
@@ -544,12 +605,17 @@ msgstr &quot;Tipo de dispositivo rejeitado&quot; @@ -544,12 +605,17 @@ msgstr &quot;Tipo de dispositivo rejeitado&quot;
544 msgid "Disconnect from host" 605 msgid "Disconnect from host"
545 msgstr "Desconecta do servidor" 606 msgstr "Desconecta do servidor"
546 607
  608 +#: src/core/properties/signed.c:42
  609 +#, fuzzy
  610 +msgid "Disconnected"
  611 +msgstr "Desconectado"
  612 +
547 #: src/core/ft/ft.c:244 src/network_modules/openssl/main.c:100 613 #: src/core/ft/ft.c:244 src/network_modules/openssl/main.c:100
548 #: src/network_modules/openssl/main.c:148 614 #: src/network_modules/openssl/main.c:148
549 msgid "Disconnected from host." 615 msgid "Disconnected from host."
550 msgstr "Desconectado do servidor." 616 msgstr "Desconectado do servidor."
551 617
552 -#: src/core/properties/string.c:120 618 +#: src/core/properties/string.c:114
553 msgid "Display charset" 619 msgid "Display charset"
554 msgstr "Tabela de caracteres para a tela" 620 msgstr "Tabela de caracteres para a tela"
555 621
@@ -715,7 +781,7 @@ msgstr &quot;Erro de formato no campo \&quot;notAfter\&quot; do certificado&quot; @@ -715,7 +781,7 @@ msgstr &quot;Erro de formato no campo \&quot;notAfter\&quot; do certificado&quot;
715 msgid "Format error in certificate's notBefore field" 781 msgid "Format error in certificate's notBefore field"
716 msgstr "Erro de formato no campo \"notBefore\" do certificado" 782 msgstr "Erro de formato no campo \"notBefore\" do certificado"
717 783
718 -#: src/core/properties/boolean.c:177 784 +#: src/core/properties/boolean.c:175
719 msgid "Formatted screen" 785 msgid "Formatted screen"
720 msgstr "Tela formatada" 786 msgstr "Tela formatada"
721 787
@@ -727,11 +793,11 @@ msgstr &quot;Tela cheia&quot; @@ -727,11 +793,11 @@ msgstr &quot;Tela cheia&quot;
727 msgid "Half connect" 793 msgid "Half connect"
728 msgstr "Half connect" 794 msgstr "Half connect"
729 795
730 -#: src/core/properties/boolean.c:156 796 +#: src/core/properties/boolean.c:154
731 msgid "Has selected area" 797 msgid "Has selected area"
732 msgstr "Tem área selecionada" 798 msgstr "Tem área selecionada"
733 799
734 -#: src/core/properties/string.c:113 800 +#: src/core/properties/string.c:107
735 msgid "Host charset" 801 msgid "Host charset"
736 msgstr "Página de código do host" 802 msgstr "Página de código do host"
737 803
@@ -755,11 +821,11 @@ msgstr &quot;Servidor rejeitou o tipo de dispositivo ou requisição&quot; @@ -755,11 +821,11 @@ msgstr &quot;Servidor rejeitou o tipo de dispositivo ou requisição&quot;
755 msgid "Host rejected resource(s)" 821 msgid "Host rejected resource(s)"
756 msgstr "Servidor rejeitou recurso(s)" 822 msgstr "Servidor rejeitou recurso(s)"
757 823
758 -#: src/core/properties/string.c:90 824 +#: src/core/properties/string.c:84
759 msgid "Host type name" 825 msgid "Host type name"
760 msgstr "Nome do tipo de host" 826 msgstr "Nome do tipo de host"
761 827
762 -#: src/core/properties/unsigned.c:90 828 +#: src/core/properties/unsigned.c:86
763 msgid "Host type number" 829 msgid "Host type number"
764 msgstr "Numero do tipo de host" 830 msgstr "Numero do tipo de host"
765 831
@@ -771,7 +837,7 @@ msgstr &quot;IBM AS/400&quot; @@ -771,7 +837,7 @@ msgstr &quot;IBM AS/400&quot;
771 msgid "IBM S/390" 837 msgid "IBM S/390"
772 msgstr "IBM S/390" 838 msgstr "IBM S/390"
773 839
774 -#: src/core/properties/signed.c:77 840 +#: src/core/properties/signed.c:146
775 msgid "ID of the session security state" 841 msgid "ID of the session security state"
776 msgstr "Identificação do estado de segurança da sessão" 842 msgstr "Identificação do estado de segurança da sessão"
777 843
@@ -887,28 +953,28 @@ msgstr &quot;Opção xxxxxxxx inválida sem SPACE: Transferência cancelada&quot; @@ -887,28 +953,28 @@ msgstr &quot;Opção xxxxxxxx inválida sem SPACE: Transferência cancelada&quot;
887 msgid "Invalid option xxxxxxxx: file transfer canceled" 953 msgid "Invalid option xxxxxxxx: file transfer canceled"
888 msgstr "Opção xxxxxxxx inválida: Transferência cancelada" 954 msgstr "Opção xxxxxxxx inválida: Transferência cancelada"
889 955
890 -#: src/core/ctlr.c:176 src/core/ctlr.c:188 src/core/ctlr.c:201  
891 -#: src/core/ctlr.c:213 956 +#: src/core/ctlr.c:171 src/core/ctlr.c:181 src/core/ctlr.c:192
  957 +#: src/core/ctlr.c:203
892 msgid "Invalid oversize" 958 msgid "Invalid oversize"
893 msgstr "Valor inválido para 'oversize'" 959 msgstr "Valor inválido para 'oversize'"
894 960
895 -#: src/core/properties/boolean.c:77 961 +#: src/core/properties/boolean.c:75
896 msgid "Is connection secure" 962 msgid "Is connection secure"
897 msgstr "A conexão é segura ?" 963 msgstr "A conexão é segura ?"
898 964
899 -#: src/core/properties/boolean.c:170 965 +#: src/core/properties/boolean.c:168
900 msgid "Is starting (no first screen)?" 966 msgid "Is starting (no first screen)?"
901 msgstr "Está iniciando (não recebeu a primeira tela)?" 967 msgstr "Está iniciando (não recebeu a primeira tela)?"
902 968
903 -#: src/core/properties/boolean.c:70 969 +#: src/core/properties/boolean.c:68
904 msgid "Is terminal connected" 970 msgid "Is terminal connected"
905 msgstr "O terminal está conectado" 971 msgstr "O terminal está conectado"
906 972
907 -#: src/core/properties/boolean.c:149 973 +#: src/core/properties/boolean.c:147
908 msgid "Is terminal in the INITIAL_E state?" 974 msgid "Is terminal in the INITIAL_E state?"
909 msgstr "O terminal está no estad INITIAL_E?" 975 msgstr "O terminal está no estad INITIAL_E?"
910 976
911 -#: src/core/properties/boolean.c:63 977 +#: src/core/properties/boolean.c:61
912 msgid "Is terminal ready" 978 msgid "Is terminal ready"
913 msgstr "O terminal está pronto" 979 msgstr "O terminal está pronto"
914 980
@@ -924,7 +990,7 @@ msgstr &quot;Uso da chave não permite assinatura de certificados&quot; @@ -924,7 +990,7 @@ msgstr &quot;Uso da chave não permite assinatura de certificados&quot;
924 msgid "Keyboard is locked" 990 msgid "Keyboard is locked"
925 msgstr "Teclado está bloqueado" 991 msgstr "Teclado está bloqueado"
926 992
927 -#: src/core/properties/unsigned.c:169 993 +#: src/core/properties/unsigned.c:165
928 msgid "Keyboard lock status" 994 msgid "Keyboard lock status"
929 msgstr "Estado de bloqueio do teclado" 995 msgstr "Estado de bloqueio do teclado"
930 996
@@ -932,11 +998,21 @@ msgstr &quot;Estado de bloqueio do teclado&quot; @@ -932,11 +998,21 @@ msgstr &quot;Estado de bloqueio do teclado&quot;
932 msgid "LDAP Search did not produce any attributes." 998 msgid "LDAP Search did not produce any attributes."
933 msgstr "Pesquisa LDAP não produziu atributos." 999 msgstr "Pesquisa LDAP não produziu atributos."
934 1000
  1001 +#: src/core/linux/ldap.c:147 src/core/macos/ldap.c:147
  1002 +#, fuzzy
  1003 +msgid "LDAP search did not produce any attributes."
  1004 +msgstr "Pesquisa LDAP não produziu atributos."
  1005 +
  1006 +#: src/core/linux/ldap.c:157 src/core/macos/ldap.c:157
  1007 +#, fuzzy
  1008 +msgid "LDAP search did not produce any values."
  1009 +msgstr "Pesquisa LDAP não produziu valores."
  1010 +
935 #: src/core/windows/ldap.c:186 1011 #: src/core/windows/ldap.c:186
936 msgid "LDAPSearch did not produce any values." 1012 msgid "LDAPSearch did not produce any values."
937 msgstr "Pesquisa LDAP não produziu valores." 1013 msgstr "Pesquisa LDAP não produziu valores."
938 1014
939 -#: src/core/properties/signed.c:70 1015 +#: src/core/properties/signed.c:138
940 msgid "Latest program message" 1016 msgid "Latest program message"
941 msgstr "Última mensagem de programa" 1017 msgstr "Última mensagem de programa"
942 1018
@@ -948,7 +1024,7 @@ msgstr &quot;Esquerda&quot; @@ -948,7 +1024,7 @@ msgstr &quot;Esquerda&quot;
948 msgid "Line mode" 1024 msgid "Line mode"
949 msgstr "Line mode" 1025 msgstr "Line mode"
950 1026
951 -#: src/core/properties/boolean.c:184 1027 +#: src/core/properties/boolean.c:182
952 msgid "Lock keyboard on operator error" 1028 msgid "Lock keyboard on operator error"
953 msgstr "Bloqueia teclado em caso de erro do operador" 1029 msgstr "Bloqueia teclado em caso de erro do operador"
954 1030
@@ -956,15 +1032,15 @@ msgstr &quot;Bloqueia teclado em caso de erro do operador&quot; @@ -956,15 +1032,15 @@ msgstr &quot;Bloqueia teclado em caso de erro do operador&quot;
956 msgid "Margined paste" 1032 msgid "Margined paste"
957 msgstr "Colar com margem" 1033 msgstr "Colar com margem"
958 1034
959 -#: src/core/properties/unsigned.c:131 1035 +#: src/core/properties/unsigned.c:127
960 msgid "Maximum screen height in rows" 1036 msgid "Maximum screen height in rows"
961 msgstr "Altura máxima da tela em linhas" 1037 msgstr "Altura máxima da tela em linhas"
962 1038
963 -#: src/core/properties/unsigned.c:124 1039 +#: src/core/properties/unsigned.c:120
964 msgid "Maximum screen width in columns" 1040 msgid "Maximum screen width in columns"
965 msgstr "Largura maxima da tela em colunas" 1041 msgstr "Largura maxima da tela em colunas"
966 1042
967 -#: src/core/properties/string.c:82 1043 +#: src/core/properties/string.c:76
968 msgid "Model name" 1044 msgid "Model name"
969 msgstr "Nome do modelo" 1045 msgstr "Nome do modelo"
970 1046
@@ -1021,8 +1097,15 @@ msgstr &quot;Move para o próximo campo desprotegido&quot; @@ -1021,8 +1097,15 @@ msgstr &quot;Move para o próximo campo desprotegido&quot;
1021 msgid "Move to the previous unprotected field on screen" 1097 msgid "Move to the previous unprotected field on screen"
1022 msgstr "Move para o campo desprotegido anterior" 1098 msgstr "Move para o campo desprotegido anterior"
1023 1099
1024 -#: src/core/telnet.c:304 src/core/windows/connect.c:223  
1025 -#: src/core/windows/event_dispatcher.c:135 1100 +#: src/core/properties/signed.c:98
  1101 +#, fuzzy
  1102 +msgid "Negotiating SSL"
  1103 +msgstr "Negociação SSL"
  1104 +
  1105 +#: src/core/telnet.c:304 src/core/linux/connect.c:200
  1106 +#: src/core/linux/event_dispatcher.c:130 src/core/windows/connect.c:223
  1107 +#: src/core/windows/event_dispatcher.c:135 src/core/macos/connect.c:200
  1108 +#: src/core/macos/event_dispatcher.c:130
1026 msgid "Network error" 1109 msgid "Network error"
1027 msgstr "Erro de rede" 1110 msgstr "Erro de rede"
1028 1111
@@ -1050,10 +1133,16 @@ msgstr &quot;Sem suporte LDAP&quot; @@ -1050,10 +1133,16 @@ msgstr &quot;Sem suporte LDAP&quot;
1050 msgid "No TLS/SSL support on this session" 1133 msgid "No TLS/SSL support on this session"
1051 msgstr "Sem suporte TLS/SSL nessa sessão" 1134 msgstr "Sem suporte TLS/SSL nessa sessão"
1052 1135
1053 -#: src/core/windows/download.c:62 1136 +#: src/core/linux/download.c:55 src/core/windows/download.c:62
  1137 +#: src/core/macos/download.c:55
1054 msgid "No handler for URL scheme." 1138 msgid "No handler for URL scheme."
1055 msgstr "Nenhum manipulador para o esquema de URL" 1139 msgstr "Nenhum manipulador para o esquema de URL"
1056 1140
  1141 +#: src/core/properties/signed.c:95
  1142 +#, fuzzy
  1143 +msgid "No secure connection"
  1144 +msgstr "Conexão _Segura."
  1145 +
1057 #: src/network_modules/openssl/messages.c:292 1146 #: src/network_modules/openssl/messages.c:292
1058 msgid "" 1147 msgid ""
1059 "No signatures could be verified because the chain contains only one " 1148 "No signatures could be verified because the chain contains only one "
@@ -1066,15 +1155,15 @@ msgstr &quot;&quot; @@ -1066,15 +1155,15 @@ msgstr &quot;&quot;
1066 msgid "No transfer in progress" 1155 msgid "No transfer in progress"
1067 msgstr "Nenhuma transferência em andamento" 1156 msgstr "Nenhuma transferência em andamento"
1068 1157
1069 -#: src/core/properties/boolean.c:198 1158 +#: src/core/properties/boolean.c:196
1070 msgid "Non zero if the download of CRL is enabled" 1159 msgid "Non zero if the download of CRL is enabled"
1071 msgstr "Diferente de zero se o host se o download do CRL está habilitado" 1160 msgstr "Diferente de zero se o host se o download do CRL está habilitado"
1072 1161
1073 -#: src/core/properties/boolean.c:93 1162 +#: src/core/properties/boolean.c:91
1074 msgid "Non zero if the host is AS400." 1163 msgid "Non zero if the host is AS400."
1075 msgstr "Diferente de zero se o host é AS400" 1164 msgstr "Diferente de zero se o host é AS400"
1076 1165
1077 -#: src/core/properties/boolean.c:85 1166 +#: src/core/properties/boolean.c:83
1078 msgid "Non zero if the host is TSO." 1167 msgid "Non zero if the host is TSO."
1079 msgstr "Diferente de zero se o host é TSO" 1168 msgstr "Diferente de zero se o host é TSO"
1080 1169
@@ -1137,7 +1226,7 @@ msgstr &quot;Pendente&quot; @@ -1137,7 +1226,7 @@ msgstr &quot;Pendente&quot;
1137 msgid "Personal computer filespec incorrect: file transfer canceled" 1226 msgid "Personal computer filespec incorrect: file transfer canceled"
1138 msgstr "Especificação de arquivo PC incorreta: Transferência cancelada" 1227 msgstr "Especificação de arquivo PC incorreta: Transferência cancelada"
1139 1228
1140 -#: src/core/properties/string.c:152 1229 +#: src/core/properties/string.c:136
1141 msgid "Preferred protocol for CRL download" 1230 msgid "Preferred protocol for CRL download"
1142 msgstr "Protocolo preferido para download da CRL" 1231 msgstr "Protocolo preferido para download da CRL"
1143 1232
@@ -1165,6 +1254,14 @@ msgstr &quot;Program Action 2&quot; @@ -1165,6 +1254,14 @@ msgstr &quot;Program Action 2&quot;
1165 msgid "Program Action 3" 1254 msgid "Program Action 3"
1166 msgstr "Program Action 3" 1255 msgstr "Program Action 3"
1167 1256
  1257 +#: src/core/properties/string.c:128
  1258 +msgid "Protocol library revision"
  1259 +msgstr ""
  1260 +
  1261 +#: src/core/properties/string.c:121
  1262 +msgid "Protocol library version"
  1263 +msgstr ""
  1264 +
1168 #: src/core/rpq.c:229 1265 #: src/core/rpq.c:229
1169 #, c-format 1266 #, c-format
1170 msgid "RPQ %s term omitted due to insufficient space" 1267 msgid "RPQ %s term omitted due to insufficient space"
@@ -1297,11 +1394,11 @@ msgstr &quot;&quot; @@ -1297,11 +1394,11 @@ msgstr &quot;&quot;
1297 msgid "SSL negotiation failed" 1394 msgid "SSL negotiation failed"
1298 msgstr "Negociação SSL falhou" 1395 msgstr "Negociação SSL falhou"
1299 1396
1300 -#: src/core/properties/unsigned.c:138 1397 +#: src/core/properties/unsigned.c:134
1301 msgid "Screen buffer length in bytes" 1398 msgid "Screen buffer length in bytes"
1302 msgstr "Tamanho do buffer de tela em bytes" 1399 msgstr "Tamanho do buffer de tela em bytes"
1303 1400
1304 -#: src/core/properties/string.c:181 1401 +#: src/core/properties/string.c:165
1305 msgid "Screen oversize if larger than the chosen model" 1402 msgid "Screen oversize if larger than the chosen model"
1306 msgstr "\"oversize\" maior que o modelo escolhido" 1403 msgstr "\"oversize\" maior que o modelo escolhido"
1307 1404
@@ -1345,7 +1442,9 @@ msgstr &quot;Seleciona a direita&quot; @@ -1345,7 +1442,9 @@ msgstr &quot;Seleciona a direita&quot;
1345 msgid "Select word" 1442 msgid "Select word"
1346 msgstr "Seleciona palavra" 1443 msgstr "Seleciona palavra"
1347 1444
  1445 +#: src/core/linux/event_dispatcher.c:131
1348 #: src/core/windows/event_dispatcher.c:136 1446 #: src/core/windows/event_dispatcher.c:136
  1447 +#: src/core/macos/event_dispatcher.c:131
1349 msgid "Select() failed when processing for events." 1448 msgid "Select() failed when processing for events."
1350 msgstr "Select() falhou ao processar eventos." 1449 msgstr "Select() falhou ao processar eventos."
1351 1450
@@ -1417,11 +1516,11 @@ msgstr &quot;Erro no socket&quot; @@ -1417,11 +1516,11 @@ msgstr &quot;Erro no socket&quot;
1417 msgid "Sound" 1516 msgid "Sound"
1418 msgstr "Som" 1517 msgstr "Som"
1419 1518
1420 -#: src/core/properties/boolean.c:128 1519 +#: src/core/properties/boolean.c:126
1421 msgid "State is 3270, TN3270e or SSCP" 1520 msgid "State is 3270, TN3270e or SSCP"
1422 msgstr "Estado do terminal é 3270, TN3270e or SSCP" 1521 msgstr "Estado do terminal é 3270, TN3270e or SSCP"
1423 1522
1424 -#: src/core/properties/boolean.c:163 1523 +#: src/core/properties/boolean.c:161
1425 msgid "Still have text to paste" 1524 msgid "Still have text to paste"
1426 msgstr "Ainda existe texto para colar" 1525 msgstr "Ainda existe texto para colar"
1427 1526
@@ -1465,15 +1564,15 @@ msgstr &quot;TN3270E NVT&quot; @@ -1465,15 +1564,15 @@ msgstr &quot;TN3270E NVT&quot;
1465 msgid "TN3270E SSCP-LU" 1564 msgid "TN3270E SSCP-LU"
1466 msgstr "TN3270E SSCP-LU" 1565 msgstr "TN3270E SSCP-LU"
1467 1566
1468 -#: src/core/properties/unsigned.c:99 1567 +#: src/core/properties/unsigned.c:95
1469 msgid "Terminal model" 1568 msgid "Terminal model"
1470 msgstr "Modelo do terminal" 1569 msgstr "Modelo do terminal"
1471 1570
1472 -#: src/core/properties/string.c:104 1571 +#: src/core/properties/string.c:98
1473 msgid "Terminal name" 1572 msgid "Terminal name"
1474 msgstr "Nome do terminal" 1573 msgstr "Nome do terminal"
1475 1574
1476 -#: src/core/properties/string.c:97 1575 +#: src/core/properties/string.c:91
1477 msgid "Terminal type" 1576 msgid "Terminal type"
1478 msgstr "Tipo do terminal" 1577 msgstr "Tipo do terminal"
1479 1578
@@ -1538,7 +1637,14 @@ msgstr &quot;&quot; @@ -1538,7 +1637,14 @@ msgstr &quot;&quot;
1538 msgid "The SSL error message was %s" 1637 msgid "The SSL error message was %s"
1539 msgstr "A mensagem de erro SSL foi \"%s\"" 1638 msgstr "A mensagem de erro SSL foi \"%s\""
1540 1639
  1640 +#: src/core/linux/connect.c:191 src/core/macos/connect.c:191
  1641 +#, fuzzy, c-format
  1642 +msgid "The System error was '%s' (rc=%d)"
  1643 +msgstr "O erro do sistema foi \"%s\" (rc=%d)"
  1644 +
  1645 +#: src/core/linux/ldap.c:82 src/core/linux/ldap.c:91
1541 #: src/core/windows/ldap.c:101 src/core/windows/ldap.c:110 1646 #: src/core/windows/ldap.c:101 src/core/windows/ldap.c:110
  1647 +#: src/core/macos/ldap.c:82 src/core/macos/ldap.c:91
1542 msgid "The URL argument should be in the format ldap://[HOST]/[DN]?attribute" 1648 msgid "The URL argument should be in the format ldap://[HOST]/[DN]?attribute"
1543 msgstr "A URL deve ser no formato ldap://[HOST]/[DN]?attribute" 1649 msgstr "A URL deve ser no formato ldap://[HOST]/[DN]?attribute"
1544 1650
@@ -1592,7 +1698,7 @@ msgstr &quot;&quot; @@ -1592,7 +1698,7 @@ msgstr &quot;&quot;
1592 "signature value could not be determined rather than it not matching the " 1698 "signature value could not be determined rather than it not matching the "
1593 "expected value, this is only meaningful for RSA keys." 1699 "expected value, this is only meaningful for RSA keys."
1594 1700
1595 -#: src/core/properties/unsigned.c:81 1701 +#: src/core/properties/unsigned.c:77
1596 msgid "The color type" 1702 msgid "The color type"
1597 msgstr "O tipo de cor" 1703 msgstr "O tipo de cor"
1598 1704
@@ -1644,7 +1750,7 @@ msgstr &quot;&quot; @@ -1644,7 +1750,7 @@ msgstr &quot;&quot;
1644 "name did not match the issuer name of the current certificate. Only " 1750 "name did not match the issuer name of the current certificate. Only "
1645 "displayed when the -issuer_checks option is set." 1751 "displayed when the -issuer_checks option is set."
1646 1752
1647 -#: src/core/properties/unsigned.c:162 1753 +#: src/core/properties/unsigned.c:158
1648 msgid "The delay between the host unlocking the keyboard and the actual unlock" 1754 msgid "The delay between the host unlocking the keyboard and the actual unlock"
1649 msgstr "" 1755 msgstr ""
1650 "Intervalo de tempo entre o desbloqueio de teclado pelo host e o desbloqueio " 1756 "Intervalo de tempo entre o desbloqueio de teclado pelo host e o desbloqueio "
@@ -1663,7 +1769,7 @@ msgstr &quot;&quot; @@ -1663,7 +1769,7 @@ msgstr &quot;&quot;
1663 msgid "The file transfer operation has been successfully completed." 1769 msgid "The file transfer operation has been successfully completed."
1664 msgstr "A transferência de arquivos terminou com sucesso." 1770 msgstr "A transferência de arquivos terminou com sucesso."
1665 1771
1666 -#: src/core/ctlr.c:215 1772 +#: src/core/ctlr.c:205
1667 #, c-format 1773 #, c-format
1668 msgid "The height %d is less than model %d rows (%d)" 1774 msgid "The height %d is less than model %d rows (%d)"
1669 msgstr "A altura %d é menor que o número de linhas do modelo %d (%d)" 1775 msgstr "A altura %d é menor que o número de linhas do modelo %d (%d)"
@@ -1690,15 +1796,15 @@ msgstr &quot;&quot; @@ -1690,15 +1796,15 @@ msgstr &quot;&quot;
1690 "The issuer certificate of a looked up certificate could not be found. This " 1796 "The issuer certificate of a looked up certificate could not be found. This "
1691 "normally means the list of trusted certificates is not complete." 1797 "normally means the list of trusted certificates is not complete."
1692 1798
1693 -#: src/core/properties/string.c:189 1799 +#: src/core/properties/string.c:173
1694 msgid "The log file name" 1800 msgid "The log file name"
1695 msgstr "Define o nome do arquivo de log" 1801 msgstr "Define o nome do arquivo de log"
1696 1802
1697 -#: src/core/properties/unsigned.c:100 1803 +#: src/core/properties/unsigned.c:96
1698 msgid "The model number" 1804 msgid "The model number"
1699 msgstr "Nº do modelo" 1805 msgstr "Nº do modelo"
1700 1806
1701 -#: src/core/properties/string.c:62 1807 +#: src/core/properties/string.c:56
1702 msgid "The name of the LU associated with the session" 1808 msgid "The name of the LU associated with the session"
1703 msgstr "O nome da LU associada à sessão" 1809 msgstr "O nome da LU associada à sessão"
1704 1810
@@ -1710,19 +1816,19 @@ msgstr &quot;&quot; @@ -1710,19 +1816,19 @@ msgstr &quot;&quot;
1710 "O módulo de rede não definiu uma mensagem para o estado TLS/SSL, isso não " 1816 "O módulo de rede não definiu uma mensagem para o estado TLS/SSL, isso não "
1711 "deveria acontecer e pode ser um erro de codificação" 1817 "deveria acontecer e pode ser um erro de codificação"
1712 1818
1713 -#: src/core/ctlr.c:214 1819 +#: src/core/ctlr.c:204
1714 msgid "The oversize height is too small." 1820 msgid "The oversize height is too small."
1715 msgstr "A altura definida para 'oversize' é muito pequena." 1821 msgstr "A altura definida para 'oversize' é muito pequena."
1716 1822
1717 -#: src/core/ctlr.c:177 1823 +#: src/core/ctlr.c:172
1718 msgid "The oversize values are invalid." 1824 msgid "The oversize values are invalid."
1719 msgstr "Os valores para 'oversize' não são válidos." 1825 msgstr "Os valores para 'oversize' não são válidos."
1720 1826
1721 -#: src/core/ctlr.c:189 1827 +#: src/core/ctlr.c:182
1722 msgid "The oversize values are too big." 1828 msgid "The oversize values are too big."
1723 msgstr "Os valores do 'oversize' são muito grandes." 1829 msgstr "Os valores do 'oversize' são muito grandes."
1724 1830
1725 -#: src/core/ctlr.c:202 1831 +#: src/core/ctlr.c:193
1726 msgid "The oversize width is too small." 1832 msgid "The oversize width is too small."
1727 msgstr "A largura do 'oversize' é muito pequena." 1833 msgstr "A largura do 'oversize' é muito pequena."
1728 1834
@@ -1760,7 +1866,7 @@ msgstr &quot;&quot; @@ -1760,7 +1866,7 @@ msgstr &quot;&quot;
1760 msgid "The secure connection has been closed cleanly." 1866 msgid "The secure connection has been closed cleanly."
1761 msgstr "A conexão segura foi fechada corretamente" 1867 msgstr "A conexão segura foi fechada corretamente"
1762 1868
1763 -#: src/core/properties/string.c:166 1869 +#: src/core/properties/string.c:150
1764 msgid "The security state" 1870 msgid "The security state"
1765 msgstr "O estado da segurança" 1871 msgstr "O estado da segurança"
1766 1872
@@ -1794,8 +1900,10 @@ msgstr &quot;O erro do sistema operacional foi \&quot;%d\&quot; (%s)&quot; @@ -1794,8 +1900,10 @@ msgstr &quot;O erro do sistema operacional foi \&quot;%d\&quot; (%s)&quot;
1794 msgid "The system error was \"%s\"" 1900 msgid "The system error was \"%s\""
1795 msgstr "O erro do sistema operacional foi \"%s\"" 1901 msgstr "O erro do sistema operacional foi \"%s\""
1796 1902
  1903 +#: src/core/linux/connect.c:222 src/core/linux/connect.c:282
1797 #: src/core/windows/connect.c:298 src/core/windows/connect.c:306 1904 #: src/core/windows/connect.c:298 src/core/windows/connect.c:306
1798 #: src/core/windows/connect.c:314 src/core/windows/connect.c:324 1905 #: src/core/windows/connect.c:314 src/core/windows/connect.c:324
  1906 +#: src/core/macos/connect.c:222 src/core/macos/connect.c:282
1799 #, c-format 1907 #, c-format
1800 msgid "The system error was \"%s\" (rc=%d)" 1908 msgid "The system error was \"%s\" (rc=%d)"
1801 msgstr "O erro do sistema operacional foi \"%s\" (rc=%d)" 1909 msgstr "O erro do sistema operacional foi \"%s\" (rc=%d)"
@@ -1806,16 +1914,16 @@ msgstr &quot;O erro do sistema operacional foi \&quot;%s\&quot; (rc=%d)&quot; @@ -1806,16 +1914,16 @@ msgstr &quot;O erro do sistema operacional foi \&quot;%s\&quot; (rc=%d)&quot;
1806 msgid "The system error was %s" 1914 msgid "The system error was %s"
1807 msgstr "O erro do sistema operacional foi \"%s\"" 1915 msgstr "O erro do sistema operacional foi \"%s\""
1808 1916
1809 -#: src/core/util.c:266 1917 +#: src/core/util.c:270
1810 #, c-format 1918 #, c-format
1811 msgid "The system error was '%s' (rc=%d)" 1919 msgid "The system error was '%s' (rc=%d)"
1812 msgstr "O erro do sistema foi \"%s\" (rc=%d)" 1920 msgstr "O erro do sistema foi \"%s\" (rc=%d)"
1813 1921
1814 -#: src/core/properties/string.c:197 1922 +#: src/core/properties/string.c:181
1815 msgid "The trace file name" 1923 msgid "The trace file name"
1816 msgstr "O nome do arquivo de trace" 1924 msgstr "O nome do arquivo de trace"
1817 1925
1818 -#: src/core/ctlr.c:203 1926 +#: src/core/ctlr.c:194
1819 #, c-format 1927 #, c-format
1820 msgid "The width %d is less than model %d columns (%d)" 1928 msgid "The width %d is less than model %d columns (%d)"
1821 msgstr "A largura %d é menor que a do modelo %d (%d)" 1929 msgstr "A largura %d é menor que a do modelo %d (%d)"
@@ -1833,7 +1941,7 @@ msgstr &quot;Não existe espaço suficiente no host para os dados.&quot; @@ -1833,7 +1941,7 @@ msgstr &quot;Não existe espaço suficiente no host para os dados.&quot;
1833 msgid "This is a host program error." 1941 msgid "This is a host program error."
1834 msgstr "Este é um erro no programa do host." 1942 msgstr "Este é um erro no programa do host."
1835 1943
1836 -#: src/core/properties/unsigned.c:146 1944 +#: src/core/properties/unsigned.c:142
1837 msgid "Time for auto-reconnect" 1945 msgid "Time for auto-reconnect"
1838 msgstr "Tempo para reconexão automática" 1946 msgstr "Tempo para reconexão automática"
1839 1947
@@ -1906,11 +2014,12 @@ msgstr &quot;Transferência falhou&quot; @@ -1906,11 +2014,12 @@ msgstr &quot;Transferência falhou&quot;
1906 msgid "Transmission error" 2014 msgid "Transmission error"
1907 msgstr "Erro de transmissão" 2015 msgstr "Erro de transmissão"
1908 2016
1909 -#: src/core/windows/connect.c:198 2017 +#: src/core/linux/connect.c:166 src/core/windows/connect.c:198
  2018 +#: src/core/macos/connect.c:166
1910 msgid "Try again" 2019 msgid "Try again"
1911 msgstr "Tentar novamente" 2020 msgstr "Tentar novamente"
1912 2021
1913 -#: src/core/properties/string.c:74 2022 +#: src/core/properties/string.c:68
1914 msgid "URL of the current host" 2023 msgid "URL of the current host"
1915 msgstr "URL do host atual" 2024 msgstr "URL do host atual"
1916 2025
@@ -1935,7 +2044,8 @@ msgstr &quot;Incapaz de decifrar a assinatura do certificado&quot; @@ -1935,7 +2044,8 @@ msgstr &quot;Incapaz de decifrar a assinatura do certificado&quot;
1935 msgid "Unable to get certificate CRL." 2044 msgid "Unable to get certificate CRL."
1936 msgstr "Incapaz de obter o CRL de um certificado." 2045 msgstr "Incapaz de obter o CRL de um certificado."
1937 2046
1938 -#: src/core/windows/connect.c:224 2047 +#: src/core/linux/connect.c:201 src/core/windows/connect.c:224
  2048 +#: src/core/macos/connect.c:201
1939 msgid "Unable to get connection state." 2049 msgid "Unable to get connection state."
1940 msgstr "Não foi possível obter o estado da conexão." 2050 msgstr "Não foi possível obter o estado da conexão."
1941 2051
@@ -1979,6 +2089,10 @@ msgstr &quot;Não foi possível verificar o primeiro certificado&quot; @@ -1979,6 +2089,10 @@ msgstr &quot;Não foi possível verificar o primeiro certificado&quot;
1979 msgid "Unconnected" 2089 msgid "Unconnected"
1980 msgstr "Não conectado" 2090 msgstr "Não conectado"
1981 2091
  2092 +#: src/core/properties/signed.c:100
  2093 +msgid "Undefined"
  2094 +msgstr "Indefinido"
  2095 +
1982 #: src/core/toggles/table.c:225 2096 #: src/core/toggles/table.c:225
1983 msgid "Underline" 2097 msgid "Underline"
1984 msgstr "Sublinhados" 2098 msgstr "Sublinhados"
@@ -2001,10 +2115,12 @@ msgid &quot;Unexpected type %d in typeahead queue&quot; @@ -2001,10 +2115,12 @@ msgid &quot;Unexpected type %d in typeahead queue&quot;
2001 msgstr "Tipo inesperado %d na fila de teclado" 2115 msgstr "Tipo inesperado %d na fila de teclado"
2002 2116
2003 #: src/core/telnet.c:1774 src/core/telnet.c:1794 2117 #: src/core/telnet.c:1774 src/core/telnet.c:1794
  2118 +#: src/core/properties/signed.c:59 src/core/properties/signed.c:88
  2119 +#: src/core/properties/signed.c:108
2004 msgid "Unknown" 2120 msgid "Unknown"
2005 msgstr "Desconhecido" 2121 msgstr "Desconhecido"
2006 2122
2007 -#: src/core/ctlr.c:626 2123 +#: src/core/ctlr.c:402
2008 #, c-format 2124 #, c-format
2009 msgid "Unknown 3270 Data Stream command: 0x%X" 2125 msgid "Unknown 3270 Data Stream command: 0x%X"
2010 msgstr "Unknown 3270 Data Stream command: 0x%X" 2126 msgstr "Unknown 3270 Data Stream command: 0x%X"
@@ -2027,7 +2143,7 @@ msgstr &quot;PF %d desconhecida&quot; @@ -2027,7 +2143,7 @@ msgstr &quot;PF %d desconhecida&quot;
2027 msgid "Unknown frame type from host" 2143 msgid "Unknown frame type from host"
2028 msgstr "Servidor enviou tipo de frame desconhecido" 2144 msgstr "Servidor enviou tipo de frame desconhecido"
2029 2145
2030 -#: src/core/properties/unsigned.c:161 2146 +#: src/core/properties/unsigned.c:157
2031 msgid "Unlock delay" 2147 msgid "Unlock delay"
2032 msgstr "Atraso no desbloqueio" 2148 msgstr "Atraso no desbloqueio"
2033 2149
@@ -2055,6 +2171,10 @@ msgstr &quot;Usar teclas +/- para navegar por campos&quot; @@ -2055,6 +2171,10 @@ msgstr &quot;Usar teclas +/- para navegar por campos&quot;
2055 msgid "Use the keys +/- from keypad to select editable fields" 2171 msgid "Use the keys +/- from keypad to select editable fields"
2056 msgstr "Use the keys +/- from keypad to select editable fields" 2172 msgstr "Use the keys +/- from keypad to select editable fields"
2057 2173
  2174 +#: src/core/properties/signed.c:99
  2175 +msgid "Verifying SSL (Getting CRL)"
  2176 +msgstr ""
  2177 +
2058 #: src/core/windows/connect.c:111 2178 #: src/core/windows/connect.c:111
2059 msgid "WSAStartup failed" 2179 msgid "WSAStartup failed"
2060 msgstr "WSAStartup falhou" 2180 msgstr "WSAStartup falhou"
@@ -2080,6 +2200,58 @@ msgstr &quot;Erro windows foi %d&quot; @@ -2080,6 +2200,58 @@ msgstr &quot;Erro windows foi %d&quot;
2080 msgid "Wrap around" 2200 msgid "Wrap around"
2081 msgstr "Wrap around" 2201 msgstr "Wrap around"
2082 2202
  2203 +#: src/core/properties/signed.c:71 src/core/properties/signed.c:77
  2204 +#: src/core/properties/signed.c:78
  2205 +msgid "X"
  2206 +msgstr "X"
  2207 +
  2208 +#: src/core/properties/signed.c:72
  2209 +msgid "X -f"
  2210 +msgstr "X -f"
  2211 +
  2212 +#: src/core/properties/signed.c:69
  2213 +#, fuzzy
  2214 +msgid "X Connected"
  2215 +msgstr "X Desconectado"
  2216 +
  2217 +#: src/core/properties/signed.c:80
  2218 +#, fuzzy
  2219 +msgid "X Connecting"
  2220 +msgstr "Conectando"
  2221 +
  2222 +#: src/core/properties/signed.c:76
  2223 +msgid "X Inhibit"
  2224 +msgstr "X Inibido"
  2225 +
  2226 +#: src/core/properties/signed.c:70
  2227 +msgid "X Not Connected"
  2228 +msgstr "X Desconectado"
  2229 +
  2230 +#: src/core/properties/signed.c:74
  2231 +msgid "X Numeric"
  2232 +msgstr "X Numérico"
  2233 +
  2234 +#: src/core/properties/signed.c:75
  2235 +msgid "X Overflow"
  2236 +msgstr "X Estouro"
  2237 +
  2238 +#: src/core/properties/signed.c:73
  2239 +msgid "X Protected"
  2240 +msgstr "X Protegido"
  2241 +
  2242 +#: src/core/properties/signed.c:79
  2243 +#, fuzzy
  2244 +msgid "X Resolving"
  2245 +msgstr "Resolvendo"
  2246 +
  2247 +#: src/core/properties/signed.c:67
  2248 +msgid "X System"
  2249 +msgstr "X Sistema"
  2250 +
  2251 +#: src/core/properties/signed.c:68
  2252 +msgid "X Wait"
  2253 +msgstr "X Aguarde"
  2254 +
2083 #: src/core/ft/ftmessages.c:74 2255 #: src/core/ft/ftmessages.c:74
2084 msgid "" 2256 msgid ""
2085 "You did not enter the required parameters after a SEND or RECEIVE command." 2257 "You did not enter the required parameters after a SEND or RECEIVE command."
@@ -2163,15 +2335,19 @@ msgstr &quot;_Desconectar&quot; @@ -2163,15 +2335,19 @@ msgstr &quot;_Desconectar&quot;
2163 msgid "_Reconnect" 2335 msgid "_Reconnect"
2164 msgstr "_Reconectar" 2336 msgstr "_Reconectar"
2165 2337
2166 -#: src/core/windows/connect.c:340 2338 +#: src/core/linux/connect.c:233 src/core/linux/connect.c:302
  2339 +#: src/core/windows/connect.c:340 src/core/macos/connect.c:233
  2340 +#: src/core/macos/connect.c:302
2167 msgid "_Retry" 2341 msgid "_Retry"
2168 msgstr "_Repetir" 2342 msgstr "_Repetir"
2169 2343
2170 -#: src/core/toggles/init.c:83 src/core/windows/connect.c:372 2344 +#: src/core/toggles/init.c:83 src/core/linux/connect.c:334
  2345 +#: src/core/windows/connect.c:372 src/core/macos/connect.c:334
2171 msgid "disable" 2346 msgid "disable"
2172 msgstr "desabilitar" 2347 msgstr "desabilitar"
2173 2348
2174 -#: src/core/toggles/init.c:83 src/core/windows/connect.c:372 2349 +#: src/core/toggles/init.c:83 src/core/linux/connect.c:334
  2350 +#: src/core/windows/connect.c:372 src/core/macos/connect.c:334
2175 msgid "enable" 2351 msgid "enable"
2176 msgstr "habilitar" 2352 msgstr "habilitar"
2177 2353
@@ -2183,19 +2359,12 @@ msgstr &quot;erro fcntl() ao obter estado do socket.&quot; @@ -2183,19 +2359,12 @@ msgstr &quot;erro fcntl() ao obter estado do socket.&quot;
2183 msgid "ioctlsocket(FIONBIO) failed." 2359 msgid "ioctlsocket(FIONBIO) failed."
2184 msgstr "ioctlsocket(FIONBIO) falhou." 2360 msgstr "ioctlsocket(FIONBIO) falhou."
2185 2361
2186 -#: src/core/properties/string.c:134  
2187 -msgid "lib3270 revision"  
2188 -msgstr "Revisão da lib3270"  
2189 -  
2190 -#: src/core/properties/string.c:127  
2191 -msgid "lib3270 version"  
2192 -msgstr "Versão da lib3270"  
2193 -  
2194 -#: src/core/properties/boolean.c:191 2362 +#: src/core/properties/boolean.c:189
2195 msgid "numeric lock" 2363 msgid "numeric lock"
2196 msgstr "numeric lock" 2364 msgstr "numeric lock"
2197 2365
2198 -#: src/core/windows/connect.c:359 2366 +#: src/core/linux/connect.c:322 src/core/windows/connect.c:359
  2367 +#: src/core/macos/connect.c:322
2199 msgid "setsockopt(SO_OOBINLINE) has failed" 2368 msgid "setsockopt(SO_OOBINLINE) has failed"
2200 msgstr "setsockopt(SO_OOBINLINE) falhou" 2369 msgstr "setsockopt(SO_OOBINLINE) falhou"
2201 2370
@@ -2488,9 +2657,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot; @@ -2488,9 +2657,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot;
2488 #~ msgid "Can't get screen contents" 2657 #~ msgid "Can't get screen contents"
2489 #~ msgstr "Não foi possível obter o conteúdo da tela" 2658 #~ msgstr "Não foi possível obter o conteúdo da tela"
2490 2659
2491 -#~ msgid "Can't initialize curl operation"  
2492 -#~ msgstr "Erro ao inicializar operação CURL"  
2493 -  
2494 #~ msgid "Can't load %s" 2660 #~ msgid "Can't load %s"
2495 #~ msgstr "Não foi possível carregar %s" 2661 #~ msgstr "Não foi possível carregar %s"
2496 2662
@@ -3518,9 +3684,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot; @@ -3518,9 +3684,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot;
3518 #~ msgid "SSL init failed!" 3684 #~ msgid "SSL init failed!"
3519 #~ msgstr "Inicialização SSL falhou" 3685 #~ msgstr "Inicialização SSL falhou"
3520 3686
3521 -#~ msgid "SSL negotiation"  
3522 -#~ msgstr "Negociação SSL"  
3523 -  
3524 #~ msgid "SSL negotiation has failed" 3687 #~ msgid "SSL negotiation has failed"
3525 #~ msgstr "Negociação de segurança falhou" 3688 #~ msgstr "Negociação de segurança falhou"
3526 3689
@@ -4014,9 +4177,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot; @@ -4014,9 +4177,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot;
4014 #~ msgid "Unable to paste formatted data" 4177 #~ msgid "Unable to paste formatted data"
4015 #~ msgstr "Incapaz de colar texto formatado" 4178 #~ msgstr "Incapaz de colar texto formatado"
4016 4179
4017 -#~ msgid "Undefined"  
4018 -#~ msgstr "Indefinido"  
4019 -  
4020 #~ msgid "Unexpected SSL error" 4180 #~ msgid "Unexpected SSL error"
4021 #~ msgstr "Erro SSL inesperado" 4181 #~ msgstr "Erro SSL inesperado"
4022 4182
@@ -4120,33 +4280,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot; @@ -4120,33 +4280,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot;
4120 #~ msgid "Windows error was \"%s\" (%u)" 4280 #~ msgid "Windows error was \"%s\" (%u)"
4121 #~ msgstr "Erro windows foi \"%s\" (%u)" 4281 #~ msgstr "Erro windows foi \"%s\" (%u)"
4122 4282
4123 -#~ msgid "X"  
4124 -#~ msgstr "X"  
4125 -  
4126 -#~ msgid "X -f"  
4127 -#~ msgstr "X -f"  
4128 -  
4129 -#~ msgid "X Inhibit"  
4130 -#~ msgstr "X Inibido"  
4131 -  
4132 -#~ msgid "X Not Connected"  
4133 -#~ msgstr "X Desconectado"  
4134 -  
4135 -#~ msgid "X Numeric"  
4136 -#~ msgstr "X Numérico"  
4137 -  
4138 -#~ msgid "X Overflow"  
4139 -#~ msgstr "X Estouro"  
4140 -  
4141 -#~ msgid "X Protected"  
4142 -#~ msgstr "X Protegido"  
4143 -  
4144 -#~ msgid "X System"  
4145 -#~ msgstr "X Sistema"  
4146 -  
4147 -#~ msgid "X Wait"  
4148 -#~ msgstr "X Aguarde"  
4149 -  
4150 #~ msgid "XML file" 4283 #~ msgid "XML file"
4151 #~ msgstr "Arquivo XML" 4284 #~ msgstr "Arquivo XML"
4152 4285
@@ -4234,9 +4367,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot; @@ -4234,9 +4367,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot;
4234 #~ msgid "_Save" 4367 #~ msgid "_Save"
4235 #~ msgstr "_Salvar" 4368 #~ msgstr "_Salvar"
4236 4369
4237 -#~ msgid "_Secure connection."  
4238 -#~ msgstr "Conexão _Segura."  
4239 -  
4240 #~ msgid "_Send" 4370 #~ msgid "_Send"
4241 #~ msgstr "_Enviar" 4371 #~ msgstr "_Enviar"
4242 4372
@@ -4267,15 +4397,18 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot; @@ -4267,15 +4397,18 @@ msgstr &quot;setsockopt(SO_OOBINLINE) falhou&quot;
4267 #~ msgid "bracket" 4397 #~ msgid "bracket"
4268 #~ msgstr "bracket" 4398 #~ msgstr "bracket"
4269 4399
4270 -#~ msgid "disconnected"  
4271 -#~ msgstr "Desconectado"  
4272 -  
4273 #~ msgid "fcntl(%s)" 4400 #~ msgid "fcntl(%s)"
4274 #~ msgstr "fcntl(%s)" 4401 #~ msgstr "fcntl(%s)"
4275 4402
4276 #~ msgid "ioctl(%s)" 4403 #~ msgid "ioctl(%s)"
4277 #~ msgstr "ioctl(%s)" 4404 #~ msgstr "ioctl(%s)"
4278 4405
  4406 +#~ msgid "lib3270 revision"
  4407 +#~ msgstr "Revisão da lib3270"
  4408 +
  4409 +#~ msgid "lib3270 version"
  4410 +#~ msgstr "Versão da lib3270"
  4411 +
4279 #~ msgid "setsockopt(%s)" 4412 #~ msgid "setsockopt(%s)"
4280 #~ msgstr "setsockopt(%s)" 4413 #~ msgstr "setsockopt(%s)"
4281 4414
mac/ci-build.sh
@@ -8,7 +8,10 @@ VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1) @@ -8,7 +8,10 @@ VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1)
8 echo "${PKG_CONFIG_PATH}" 8 echo "${PKG_CONFIG_PATH}"
9 pkg-config --list-all 9 pkg-config --list-all
10 10
11 -./autogen.sh --prefix="/${PROJECT_NAME}/${VERSION}" 11 +./autogen.sh \
  12 + --prefix="/${PROJECT_NAME}/${VERSION}" \
  13 + --with-libiconv-prefix=$(brew --prefix gettext)
  14 +
12 if [ "$?" != "0" ]; then 15 if [ "$?" != "0" ]; then
13 exit -1 16 exit -1
14 fi 17 fi
src/core/ctlr.c
@@ -46,7 +46,6 @@ @@ -46,7 +46,6 @@
46 #include <stdlib.h> 46 #include <stdlib.h>
47 #include "3270ds.h" 47 #include "3270ds.h"
48 #include "screen.h" 48 #include "screen.h"
49 -//#include "resources.h"  
50 49
51 #include "ctlrc.h" 50 #include "ctlrc.h"
52 #include "ftc.h" 51 #include "ftc.h"
@@ -65,15 +64,13 @@ @@ -65,15 +64,13 @@
65 #include "widec.h" 64 #include "widec.h"
66 #include "screenc.h" 65 #include "screenc.h"
67 66
68 -// Boolean dbcs = False;  
69 67
70 -/* Statics */ 68 +// Statics
71 static void update_formatted(H3270 *session); 69 static void update_formatted(H3270 *session);
72 static void set_formatted(H3270 *hSession, int state); 70 static void set_formatted(H3270 *hSession, int state);
73 static void ctlr_blanks(H3270 *session); 71 static void ctlr_blanks(H3270 *session);
74 static void ctlr_half_connect(H3270 *session, int ignored, void *dunno); 72 static void ctlr_half_connect(H3270 *session, int ignored, void *dunno);
75 static void ctlr_connect(H3270 *session, int ignored, void *dunno); 73 static void ctlr_connect(H3270 *session, int ignored, void *dunno);
76 -//static void ticking_stop(H3270 *session);  
77 static void ctlr_add_ic(H3270 *session, int baddr, unsigned char ic); 74 static void ctlr_add_ic(H3270 *session, int baddr, unsigned char ic);
78 75
79 /** 76 /**
@@ -92,8 +89,6 @@ static const unsigned char code_table[64] = { @@ -92,8 +89,6 @@ static const unsigned char code_table[64] = {
92 }; 89 };
93 90
94 #define IsBlank(c) ((c == EBC_null) || (c == EBC_space)) 91 #define IsBlank(c) ((c == EBC_null) || (c == EBC_space))
95 -  
96 -  
97 #define ALL_CHANGED(h) if(lib3270_in_ansi(h)) (h)->cbk.changed(h,0,(h)->view.rows*(h)->view.cols); 92 #define ALL_CHANGED(h) if(lib3270_in_ansi(h)) (h)->cbk.changed(h,0,(h)->view.rows*(h)->view.cols);
98 #define REGION_CHANGED(h, f, l) if(lib3270_in_ansi(h)) (h)->cbk.changed(h,f,l) 93 #define REGION_CHANGED(h, f, l) if(lib3270_in_ansi(h)) (h)->cbk.changed(h,f,l)
99 #define ONE_CHANGED(h,n) if(lib3270_in_ansi(h)) (h)->cbk.changed(h,n,n+1); 94 #define ONE_CHANGED(h,n) if(lib3270_in_ansi(h)) (h)->cbk.changed(h,n,n+1);
@@ -179,8 +174,6 @@ void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ovr) { @@ -179,8 +174,6 @@ void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ovr) {
179 ovc, ovr 174 ovc, ovr
180 ); 175 );
181 176
182 - // popup_an_error(session,"Invalid %s %dx%d:\nNegative or zero",ResOversize, ovc, ovr);  
183 -  
184 } else if (ovc * ovr >= 0x4000) { 177 } else if (ovc * ovr >= 0x4000) {
185 lib3270_popup_dialog( 178 lib3270_popup_dialog(
186 session, 179 session,
@@ -191,8 +184,6 @@ void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ovr) { @@ -191,8 +184,6 @@ void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ovr) {
191 ovc, ovr 184 ovc, ovr
192 ); 185 );
193 186
194 -// popup_an_error(session,"Invalid %s %dx%d:\nToo big",ResOversize, ovc, ovr);  
195 -  
196 } else if (ovc < session->max.cols) { 187 } else if (ovc < session->max.cols) {
197 188
198 lib3270_popup_dialog( 189 lib3270_popup_dialog(
@@ -204,7 +195,6 @@ void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ovr) { @@ -204,7 +195,6 @@ void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ovr) {
204 ovc, session->model_num, session->max.cols 195 ovc, session->model_num, session->max.cols
205 ); 196 );
206 197
207 -// popup_an_error(session,"Invalid %s cols (%d):\nLess than model %d cols (%d)",ResOversize, ovc, session->model_num, session->maxCOLS);  
208 } else if (ovr < session->max.rows) { 198 } else if (ovr < session->max.rows) {
209 199
210 lib3270_popup_dialog( 200 lib3270_popup_dialog(
@@ -216,10 +206,10 @@ void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ovr) { @@ -216,10 +206,10 @@ void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ovr) {
216 ovr, session->model_num, session->max.rows 206 ovr, session->model_num, session->max.rows
217 ); 207 );
218 208
219 -// popup_an_error(session,"Invalid %s rows (%d):\nLess than model %d rows (%d)",ResOversize, ovr, session->model_num, session->maxROWS);  
220 -  
221 } else { 209 } else {
  210 +
222 update_model_info(session,mn,session->oversize.cols = ovc,session->oversize.rows = ovr); 211 update_model_info(session,mn,session->oversize.cols = ovc,session->oversize.rows = ovr);
  212 +
223 } 213 }
224 } 214 }
225 215
@@ -271,8 +261,6 @@ static void ctlr_half_connect(H3270 *hSession, int GNUC_UNUSED(ignored), void GN @@ -271,8 +261,6 @@ static void ctlr_half_connect(H3270 *hSession, int GNUC_UNUSED(ignored), void GN
271 /// 261 ///
272 static void ctlr_connect(H3270 *hSession, int GNUC_UNUSED(ignored), void GNUC_UNUSED(*dunno)) { 262 static void ctlr_connect(H3270 *hSession, int GNUC_UNUSED(ignored), void GNUC_UNUSED(*dunno)) {
273 hSession->cbk.set_timer(hSession,0); 263 hSession->cbk.set_timer(hSession,0);
274 -// ticking_stop(hSession);  
275 -// status_untiming(hSession);  
276 264
277 if (hSession->ever_3270) 265 if (hSession->ever_3270)
278 hSession->ea_buf[-1].fa = FA_PRINTABLE | FA_MODIFY; 266 hSession->ea_buf[-1].fa = FA_PRINTABLE | FA_MODIFY;
@@ -293,218 +281,6 @@ static void ctlr_connect(H3270 *hSession, int GNUC_UNUSED(ignored), void GNUC_UN @@ -293,218 +281,6 @@ static void ctlr_connect(H3270 *hSession, int GNUC_UNUSED(ignored), void GNUC_UN
293 hSession->crm_nattr = 0; 281 hSession->crm_nattr = 0;
294 } 282 }
295 283
296 -LIB3270_EXPORT int lib3270_is_formatted(const H3270 *hSession) {  
297 - if(check_online_session(hSession))  
298 - return 0;  
299 -  
300 - return hSession->formatted ? 1 : 0;  
301 -}  
302 -  
303 -/**  
304 - * @brief Get field address.  
305 - *  
306 - * @return Negative on error(sets errno) or field address.  
307 - *  
308 - */  
309 -LIB3270_EXPORT int lib3270_get_field_start(H3270 *hSession, int baddr) {  
310 - int sbaddr;  
311 -  
312 - if(check_online_session(hSession))  
313 - return - errno;  
314 -  
315 - if (!hSession->formatted)  
316 - return - (errno = ENOTSUP);  
317 -  
318 - if(baddr < 0)  
319 - baddr = hSession->cursor_addr;  
320 -  
321 - sbaddr = baddr;  
322 - do {  
323 - if(hSession->ea_buf[baddr].fa)  
324 - return baddr;  
325 - DEC_BA(baddr);  
326 - } while (baddr != sbaddr);  
327 -  
328 - return -1;  
329 -  
330 -}  
331 -  
332 -LIB3270_EXPORT int lib3270_get_field_len(H3270 *hSession, int baddr) {  
333 - int saddr;  
334 - int addr;  
335 - int width = 0;  
336 -  
337 - if(check_online_session(hSession))  
338 - return - errno;  
339 -  
340 - if (!hSession->formatted)  
341 - return - (errno = ENOTSUP);  
342 -  
343 - if(baddr < 0)  
344 - baddr = hSession->cursor_addr;  
345 -  
346 - addr = lib3270_field_addr(hSession,baddr);  
347 - if(addr < 0)  
348 - return addr;  
349 -  
350 - saddr = addr;  
351 - INC_BA(addr);  
352 - do {  
353 - if(hSession->ea_buf[addr].fa)  
354 - return width;  
355 - INC_BA(addr);  
356 - width++;  
357 - } while (addr != saddr);  
358 -  
359 - return -(errno = ENODATA);  
360 -}  
361 -  
362 -LIB3270_EXPORT int lib3270_field_addr(const H3270 *hSession, int baddr) {  
363 - int sbaddr;  
364 -  
365 - if(!lib3270_is_connected(hSession))  
366 - return -(errno = ENOTCONN);  
367 -  
368 - if(!hSession->formatted)  
369 - return -(errno = ENOTSUP);  
370 -  
371 - if(baddr < 0)  
372 - baddr = lib3270_get_cursor_address(hSession);  
373 -  
374 - if(baddr > lib3270_get_length(hSession))  
375 - return -(errno = EOVERFLOW);  
376 -  
377 - sbaddr = baddr;  
378 - do {  
379 - if(hSession->ea_buf[baddr].fa)  
380 - return baddr;  
381 - DEC_BA(baddr);  
382 - } while (baddr != sbaddr);  
383 -  
384 - return -(errno = ENODATA);  
385 -}  
386 -  
387 -LIB3270_EXPORT LIB3270_FIELD_ATTRIBUTE lib3270_get_field_attribute(H3270 *hSession, int baddr) {  
388 - int sbaddr;  
389 -  
390 - FAIL_IF_NOT_ONLINE(hSession);  
391 -  
392 - if(!hSession->formatted) {  
393 - errno = ENOTCONN;  
394 - return LIB3270_FIELD_ATTRIBUTE_INVALID;  
395 - }  
396 -  
397 - if(baddr < 0)  
398 - baddr = lib3270_get_cursor_address(hSession);  
399 -  
400 - sbaddr = baddr;  
401 - do {  
402 - if(hSession->ea_buf[baddr].fa)  
403 - return (LIB3270_FIELD_ATTRIBUTE) hSession->ea_buf[baddr].fa;  
404 -  
405 - DEC_BA(baddr);  
406 - } while (baddr != sbaddr);  
407 -  
408 - errno = EINVAL;  
409 - return LIB3270_FIELD_ATTRIBUTE_INVALID;  
410 -  
411 -}  
412 -  
413 -/**  
414 - * @brief Get the length of the field at given buffer address.  
415 - *  
416 - * @param hSession Session handle.  
417 - * @param addr Buffer address of the field.  
418 - *  
419 - * @return field length or negative if invalid or not connected (sets errno).  
420 - *  
421 - */  
422 -int lib3270_field_length(H3270 *hSession, int baddr) {  
423 - int saddr;  
424 - int addr;  
425 - int width = 0;  
426 -  
427 - addr = lib3270_field_addr(hSession,baddr);  
428 - if(addr < 0)  
429 - return addr;  
430 -  
431 - saddr = addr;  
432 - INC_BA(addr);  
433 - do {  
434 - if(hSession->ea_buf[addr].fa)  
435 - return width;  
436 - INC_BA(addr);  
437 - width++;  
438 - } while (addr != saddr);  
439 -  
440 - return -(errno = EINVAL);  
441 -  
442 -}  
443 -  
444 -/**  
445 - * @brief Find the field attribute for the given buffer address.  
446 - *  
447 - * @return Field attribute.  
448 - *  
449 - */  
450 -unsigned char get_field_attribute(H3270 *hSession, int baddr) {  
451 - baddr = lib3270_field_addr(hSession,baddr);  
452 - if(baddr < 0)  
453 - return 0;  
454 - return hSession->ea_buf[baddr].fa;  
455 -}  
456 -  
457 -/**  
458 - * @brief Find the next unprotected field.  
459 - *  
460 - * @param hSession Session handle.  
461 - * @param baddr0 Search start addr (-1 to use current cursor position).  
462 - *  
463 - * @return address following the unprotected attribute byte, or 0 if no nonzero-width unprotected field can be found, negative if failed.  
464 - *  
465 - */  
466 -LIB3270_EXPORT int lib3270_get_next_unprotected(H3270 *hSession, int baddr0) {  
467 - register int baddr, nbaddr;  
468 -  
469 - FAIL_IF_NOT_ONLINE(hSession);  
470 -  
471 - if(!hSession->formatted)  
472 - return -(errno = ENOTSUP);  
473 -  
474 - if(baddr0 < 0)  
475 - baddr0 = hSession->cursor_addr;  
476 -  
477 - nbaddr = baddr0;  
478 - do {  
479 - baddr = nbaddr;  
480 - INC_BA(nbaddr);  
481 - if(hSession->ea_buf[baddr].fa &&!FA_IS_PROTECTED(hSession->ea_buf[baddr].fa) &&!hSession->ea_buf[nbaddr].fa)  
482 - return nbaddr;  
483 - } while (nbaddr != baddr0);  
484 -  
485 - return 0;  
486 -}  
487 -  
488 -LIB3270_EXPORT int lib3270_get_is_protected_at(const H3270 *h, unsigned int row, unsigned int col) {  
489 - return lib3270_get_is_protected(h, lib3270_translate_to_address(h,row,col));  
490 -}  
491 -  
492 -LIB3270_EXPORT int lib3270_get_is_protected(const H3270 *hSession, int baddr) {  
493 - FAIL_IF_NOT_ONLINE(hSession);  
494 -  
495 - if(baddr < 0)  
496 - baddr = hSession->cursor_addr;  
497 -  
498 - int faddr = lib3270_field_addr(hSession,baddr);  
499 -  
500 - return FA_IS_PROTECTED(hSession->ea_buf[faddr].fa) ? 1 : 0;  
501 -}  
502 -  
503 -LIB3270_EXPORT int lib3270_is_protected(H3270 *h, unsigned int baddr) {  
504 - return lib3270_get_is_protected(h, baddr);  
505 -}  
506 -  
507 -  
508 /** 284 /**
509 * @brief Perform an erase command, which may include changing the (virtual) screen size. 285 * @brief Perform an erase command, which may include changing the (virtual) screen size.
510 * 286 *
@@ -1777,9 +1553,6 @@ enum pds ctlr_write(H3270 *hSession, unsigned char buf[], int buflen, Boolean er @@ -1777,9 +1553,6 @@ enum pds ctlr_write(H3270 *hSession, unsigned char buf[], int buflen, Boolean er
1777 1553
1778 ps_process(hSession); 1554 ps_process(hSession);
1779 1555
1780 - /* Let a script go. */  
1781 -// sms_host_output();  
1782 -  
1783 /* Tell 'em what happened. */ 1556 /* Tell 'em what happened. */
1784 return rv; 1557 return rv;
1785 } 1558 }
@@ -1800,7 +1573,6 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen) { @@ -1800,7 +1573,6 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen) {
1800 unsigned char *cp = buf; 1573 unsigned char *cp = buf;
1801 int s_row; 1574 int s_row;
1802 unsigned char c; 1575 unsigned char c;
1803 -// int baddr;  
1804 1576
1805 /* 1577 /*
1806 * The 3174 Functionl Description says that anything but NL, NULL, FM, 1578 * The 3174 Functionl Description says that anything but NL, NULL, FM,
@@ -1846,7 +1618,6 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen) { @@ -1846,7 +1618,6 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen) {
1846 break; 1618 break;
1847 1619
1848 case ORDER_SBA: 1620 case ORDER_SBA:
1849 -// baddr = DECODE_BADDR(*(cp+1), *(cp+2));  
1850 trace_ds(hSession," SetBufferAddress%s [ignored]\n", rcba(hSession,DECODE_BADDR(*(cp+1), *(cp+2)))); 1621 trace_ds(hSession," SetBufferAddress%s [ignored]\n", rcba(hSession,DECODE_BADDR(*(cp+1), *(cp+2))));
1851 cp += 2; 1622 cp += 2;
1852 i += 2; 1623 i += 2;
src/core/field.c 0 → 100644
@@ -0,0 +1,235 @@ @@ -0,0 +1,235 @@
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
  3 +/*
  4 + * Copyright (C) 2023 Perry Werneck <perry.werneck@gmail.com>
  5 + *
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 + #include <config.h>
  21 + #include <internals.h>
  22 + #include <lib3270.h>
  23 + #include "3270ds.h"
  24 +
  25 +/**
  26 + * @brief Get field address.
  27 + *
  28 + * @return Negative on error(sets errno) or field address.
  29 + *
  30 + */
  31 + LIB3270_EXPORT int lib3270_get_field_start(H3270 *hSession, int baddr) {
  32 + int sbaddr;
  33 +
  34 + if(check_online_session(hSession))
  35 + return - errno;
  36 +
  37 + if (!hSession->formatted)
  38 + return - (errno = ENOTSUP);
  39 +
  40 + if(baddr < 0)
  41 + baddr = hSession->cursor_addr;
  42 +
  43 + sbaddr = baddr;
  44 + do {
  45 + if(hSession->ea_buf[baddr].fa)
  46 + return baddr;
  47 + DEC_BA(baddr);
  48 + } while (baddr != sbaddr);
  49 +
  50 + return -1;
  51 +
  52 + }
  53 +
  54 + LIB3270_EXPORT int lib3270_is_formatted(const H3270 *hSession) {
  55 + if(check_online_session(hSession))
  56 + return 0;
  57 + return hSession->formatted ? 1 : 0;
  58 + }
  59 +
  60 + LIB3270_EXPORT int lib3270_get_field_len(H3270 *hSession, int baddr) {
  61 + int saddr;
  62 + int addr;
  63 + int width = 0;
  64 +
  65 + if(check_online_session(hSession))
  66 + return - errno;
  67 +
  68 + if (!hSession->formatted)
  69 + return - (errno = ENOTSUP);
  70 +
  71 + if(baddr < 0)
  72 + baddr = hSession->cursor_addr;
  73 +
  74 + addr = lib3270_field_addr(hSession,baddr);
  75 + if(addr < 0)
  76 + return addr;
  77 +
  78 + saddr = addr;
  79 + INC_BA(addr);
  80 + do {
  81 + if(hSession->ea_buf[addr].fa)
  82 + return width;
  83 + INC_BA(addr);
  84 + width++;
  85 + } while (addr != saddr);
  86 +
  87 + return -(errno = ENODATA);
  88 + }
  89 +
  90 + LIB3270_EXPORT int lib3270_field_addr(const H3270 *hSession, int baddr) {
  91 +
  92 + int sbaddr;
  93 +
  94 + if(!lib3270_is_connected(hSession))
  95 + return -(errno = ENOTCONN);
  96 +
  97 + if(!hSession->formatted)
  98 + return -(errno = ENOTSUP);
  99 +
  100 + if(baddr < 0)
  101 + baddr = lib3270_get_cursor_address(hSession);
  102 +
  103 + if( (unsigned int) baddr > lib3270_get_length(hSession))
  104 + return -(errno = EOVERFLOW);
  105 +
  106 + sbaddr = baddr;
  107 + do {
  108 + if(hSession->ea_buf[baddr].fa)
  109 + return baddr;
  110 + DEC_BA(baddr);
  111 + } while (baddr != sbaddr);
  112 +
  113 + return -(errno = ENODATA);
  114 + }
  115 +
  116 + LIB3270_EXPORT LIB3270_FIELD_ATTRIBUTE lib3270_get_field_attribute(H3270 *hSession, int baddr) {
  117 + int sbaddr;
  118 +
  119 + FAIL_IF_NOT_ONLINE(hSession);
  120 +
  121 + if(!hSession->formatted) {
  122 + errno = ENOTCONN;
  123 + return LIB3270_FIELD_ATTRIBUTE_INVALID;
  124 + }
  125 +
  126 + if(baddr < 0)
  127 + baddr = lib3270_get_cursor_address(hSession);
  128 +
  129 + sbaddr = baddr;
  130 + do {
  131 + if(hSession->ea_buf[baddr].fa)
  132 + return (LIB3270_FIELD_ATTRIBUTE) hSession->ea_buf[baddr].fa;
  133 +
  134 + DEC_BA(baddr);
  135 + } while (baddr != sbaddr);
  136 +
  137 + errno = EINVAL;
  138 + return LIB3270_FIELD_ATTRIBUTE_INVALID;
  139 +
  140 + }
  141 +
  142 +/**
  143 + * @brief Get the length of the field at given buffer address.
  144 + *
  145 + * @param hSession Session handle.
  146 + * @param addr Buffer address of the field.
  147 + *
  148 + * @return field length or negative if invalid or not connected (sets errno).
  149 + *
  150 + */
  151 + int lib3270_field_length(H3270 *hSession, int baddr) {
  152 + int saddr;
  153 + int addr;
  154 + int width = 0;
  155 +
  156 + addr = lib3270_field_addr(hSession,baddr);
  157 + if(addr < 0)
  158 + return addr;
  159 +
  160 + saddr = addr;
  161 + INC_BA(addr);
  162 + do {
  163 + if(hSession->ea_buf[addr].fa)
  164 + return width;
  165 + INC_BA(addr);
  166 + width++;
  167 + } while (addr != saddr);
  168 +
  169 + return -(errno = EINVAL);
  170 +
  171 + }
  172 +
  173 +/**
  174 + * @brief Find the field attribute for the given buffer address.
  175 + *
  176 + * @return Field attribute.
  177 + *
  178 + */
  179 + unsigned char get_field_attribute(H3270 *hSession, int baddr) {
  180 + baddr = lib3270_field_addr(hSession,baddr);
  181 + if(baddr < 0)
  182 + return 0;
  183 + return hSession->ea_buf[baddr].fa;
  184 + }
  185 +
  186 +/**
  187 + * @brief Find the next unprotected field.
  188 + *
  189 + * @param hSession Session handle.
  190 + * @param baddr0 Search start addr (-1 to use current cursor position).
  191 + *
  192 + * @return address following the unprotected attribute byte, or 0 if no nonzero-width unprotected field can be found, negative if failed.
  193 + *
  194 + */
  195 + LIB3270_EXPORT int lib3270_get_next_unprotected(H3270 *hSession, int baddr0) {
  196 + register int baddr, nbaddr;
  197 +
  198 + FAIL_IF_NOT_ONLINE(hSession);
  199 +
  200 + if(!hSession->formatted)
  201 + return -(errno = ENOTSUP);
  202 +
  203 + if(baddr0 < 0)
  204 + baddr0 = hSession->cursor_addr;
  205 +
  206 + nbaddr = baddr0;
  207 + do {
  208 + baddr = nbaddr;
  209 + INC_BA(nbaddr);
  210 + if(hSession->ea_buf[baddr].fa &&!FA_IS_PROTECTED(hSession->ea_buf[baddr].fa) &&!hSession->ea_buf[nbaddr].fa)
  211 + return nbaddr;
  212 + } while (nbaddr != baddr0);
  213 +
  214 + return 0;
  215 + }
  216 +
  217 + LIB3270_EXPORT int lib3270_get_is_protected_at(const H3270 *h, unsigned int row, unsigned int col) {
  218 + return lib3270_get_is_protected(h, lib3270_translate_to_address(h,row,col));
  219 + }
  220 +
  221 + LIB3270_EXPORT int lib3270_get_is_protected(const H3270 *hSession, int baddr) {
  222 +
  223 + FAIL_IF_NOT_ONLINE(hSession);
  224 +
  225 + if(baddr < 0)
  226 + baddr = hSession->cursor_addr;
  227 +
  228 + int faddr = lib3270_field_addr(hSession,baddr);
  229 +
  230 + return FA_IS_PROTECTED(hSession->ea_buf[faddr].fa) ? 1 : 0;
  231 + }
  232 +
  233 + LIB3270_EXPORT int lib3270_is_protected(H3270 *h, unsigned int baddr) {
  234 + return lib3270_get_is_protected(h, baddr);
  235 + }
src/core/macos/util.c
@@ -64,6 +64,30 @@ static char * build_filename(const char *root, const char *str, va_list args) { @@ -64,6 +64,30 @@ static char * build_filename(const char *root, const char *str, va_list args) {
64 return (char *) lib3270_realloc(filename,strlen(filename)+1); 64 return (char *) lib3270_realloc(filename,strlen(filename)+1);
65 } 65 }
66 66
  67 +LIB3270_EXPORT char * lib3270_get_installation_path() {
  68 +
  69 + char lpFilename[PATH_MAX+1];
  70 +
  71 + memset(lpFilename,0,sizeof(lpFilename));
  72 + uint32_t szPath = PATH_MAX;
  73 + _NSGetExecutablePath(lpFilename, &szPath);
  74 + lpFilename[szPath] = 0;
  75 +
  76 + char *ptr = strrchr(lpFilename,'/');
  77 + if(ptr) {
  78 + ptr[0] = 0;
  79 +
  80 + ptr = strrchr(lpFilename,'/');
  81 + if(ptr && !(strcasecmp(ptr,"/bin") && strcasecmp(ptr,"/lib"))) {
  82 + *ptr = 0;
  83 + }
  84 +
  85 + strncat(lpFilename,"/",PATH_MAX);
  86 + }
  87 +
  88 + return strdup(lpFilename);
  89 +}
  90 +
67 char * lib3270_build_data_filename(const char *str, ...) { 91 char * lib3270_build_data_filename(const char *str, ...) {
68 92
69 va_list args; 93 va_list args;
@@ -102,27 +126,67 @@ char * lib3270_build_data_filename(const char *str, ...) { @@ -102,27 +126,67 @@ char * lib3270_build_data_filename(const char *str, ...) {
102 126
103 } 127 }
104 128
105 - /*  
106 // 129 //
107 - // Try EXE Path 130 + // Try installation path
108 // 131 //
109 { 132 {
110 - uint32_t size = szPath;  
111 - _NSGetExecutablePath(path, &size);  
112 - path[size] = 0; 133 + char *ptr;
  134 + lib3270_autoptr(char) instpath = lib3270_get_installation_path();
113 135
  136 + if( *(instpath+strlen(instpath)-1) == '/') {
  137 + instpath[strlen(instpath)-1] = 0;
  138 + }
114 139
115 - }  
116 - */ 140 + char relative[PATH_MAX+1];
  141 + memset(relative,0,PATH_MAX);
117 142
118 - //  
119 - // Not found, use the system datadir  
120 - //  
121 - va_start (args, str);  
122 - filename = build_filename(LIB3270_STRINGIZE_VALUE_OF(DATADIR), str, args);  
123 - va_end (args); 143 + {
  144 + va_list args;
  145 + va_start (args, str);
  146 +
  147 + while(str) {
  148 +
  149 + if(str[0] == '/') {
  150 + strncat(relative,str,PATH_MAX);
  151 + } else {
  152 + strncat(relative,"/",PATH_MAX);
  153 + strncat(relative,str,PATH_MAX);
  154 + }
  155 +
  156 + str = va_arg(args, const char *);
  157 + }
  158 +
  159 + va_end (args);
  160 + }
  161 +
  162 + char filename[PATH_MAX+1];
  163 + memset(filename,0,PATH_MAX+1);
  164 +
  165 + // Check instdir
  166 + strncpy(filename,instpath,PATH_MAX);
  167 + strncat(filename,"/share",PATH_MAX);
  168 + strncat(filename,relative,PATH_MAX);
  169 +
  170 + if(access(filename,0) == 0) {
  171 + return strdup(filename);
  172 + }
  173 +
  174 + strncpy(filename,instpath,PATH_MAX);
  175 + strncat(filename,"/share/",PATH_MAX);
  176 + strncat(filename,LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),PATH_MAX);
  177 + strncat(filename,relative,PATH_MAX);
  178 +
  179 + if(access(filename,0) == 0) {
  180 + return strdup(filename);
  181 + }
  182 +
  183 + // Default behavior.
  184 + strncpy(filename,instpath,PATH_MAX);
  185 + strncat(filename,relative,PATH_MAX);
  186 +
  187 + return strdup(filename);
  188 + }
124 189
125 - return filename;  
126 } 190 }
127 191
128 char * lib3270_build_config_filename(const char *str, ...) { 192 char * lib3270_build_config_filename(const char *str, ...) {
src/core/properties/boolean.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation.  
11 - *  
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
16 * 5 *
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
20 * 10 *
21 - * Este programa está nomeado como - e possui - linhas de código. 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
22 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 +/*
23 * Contatos: 21 * Contatos:
24 * 22 *
25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) 23 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
src/core/properties/signed.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
11 * 5 *
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes. 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
16 * 10 *
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
20 - *  
21 - * Este programa está nomeado como - e possui - linhas de código. 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
22 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 +/*
23 * Contatos: 21 * Contatos:
24 * 22 *
25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) 23 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
@@ -27,6 +25,10 @@ @@ -27,6 +25,10 @@
27 * 25 *
28 */ 26 */
29 27
  28 +/**
  29 + * @brief Signed int properties.
  30 + */
  31 +
30 #include <config.h> 32 #include <config.h>
31 #include <internals.h> 33 #include <internals.h>
32 #include <string.h> 34 #include <string.h>
@@ -34,18 +36,90 @@ @@ -34,18 +36,90 @@
34 #include <lib3270/properties.h> 36 #include <lib3270/properties.h>
35 #include <lib3270/keyboard.h> 37 #include <lib3270/keyboard.h>
36 38
37 -static int lib3270_get_connection_state_as_int(const H3270 *hSession) {  
38 - return (int) lib3270_get_connection_state(hSession); 39 +LIB3270_EXPORT const char * lib3270_get_connection_state_as_string(const H3270 *hSession) {
  40 +
  41 + static const char * values[] = {
  42 + N_("Disconnected"),
  43 + N_("Connecting to host"),
  44 + N_("Connection pending"),
  45 + N_("Connected, no mode yet"),
  46 + N_("Connected in NVT ANSI mode"),
  47 + N_("Connected in old-style 3270 mode"),
  48 + N_("Connected in TN3270E mode, no negotiated"),
  49 + N_("Connected in TN3270E mode, NVT mode"),
  50 + N_("Connected in TN3270E mode, SSCP-LU mode"),
  51 + N_("Connected in TN3270E mode, 3270 mode")
  52 + };
  53 +
  54 + size_t value = (size_t) lib3270_get_connection_state(hSession);
  55 + if(value < (sizeof(value)/sizeof(values[0]))) {
  56 + return dgettext(GETTEXT_PACKAGE,values[value]);
  57 + }
  58 +
  59 + return _( "Unknown" );
  60 +
39 } 61 }
40 62
41 -static int lib3270_get_program_message_as_int(const H3270 *hSession) {  
42 - return (int) lib3270_get_program_message(hSession); 63 +LIB3270_EXPORT const char * lib3270_get_program_message_as_string(const H3270 *hSession) {
  64 +
  65 + static const char * values[] = {
  66 + "",
  67 + N_( "X System" ),
  68 + N_( "X Wait" ),
  69 + N_( "X Connected" ),
  70 + N_( "X Not Connected" ),
  71 + N_( "X" ),
  72 + N_( "X -f" ),
  73 + N_( "X Protected" ),
  74 + N_( "X Numeric" ),
  75 + N_( "X Overflow" ),
  76 + N_( "X Inhibit" ),
  77 + N_( "X" ),
  78 + N_( "X" ),
  79 + N_( "X Resolving" ),
  80 + N_( "X Connecting" )
  81 + };
  82 +
  83 + size_t value = (size_t) lib3270_get_program_message(hSession);
  84 + if(value < (sizeof(value)/sizeof(values[0]))) {
  85 + return dgettext(GETTEXT_PACKAGE,values[value]);
  86 + }
  87 +
  88 + return _( "Unknown" );
  89 +
  90 +}
  91 +
  92 +LIB3270_EXPORT const char * lib3270_get_ssl_state_as_string(const H3270 * hSession) {
  93 +
  94 + static const char * values[] = {
  95 + N_("No secure connection"),
  96 + N_("Connection secure with CA check"),
  97 + N_("Connection secure, no CA, self-signed or expired CRL"),
  98 + N_("Negotiating SSL"),
  99 + N_("Verifying SSL (Getting CRL)"),
  100 + N_("Undefined")
  101 + };
  102 +
  103 + size_t value = (size_t) lib3270_get_ssl_state(hSession);
  104 + if(value < (sizeof(value)/sizeof(values[0]))) {
  105 + return dgettext(GETTEXT_PACKAGE,values[value]);
  106 + }
  107 +
  108 + return _( "Unknown" );
  109 +}
  110 +
  111 +static int lib3270_get_connection_state_as_int(const H3270 *hSession) {
  112 + return (int) lib3270_get_connection_state(hSession);
43 } 113 }
44 114
45 static int lib3270_get_ssl_state_as_int(const H3270 * hSession) { 115 static int lib3270_get_ssl_state_as_int(const H3270 * hSession) {
46 return (int) lib3270_get_ssl_state(hSession); 116 return (int) lib3270_get_ssl_state(hSession);
47 } 117 }
48 118
  119 +static int lib3270_get_program_message_as_int(const H3270 *hSession) {
  120 + return (int) lib3270_get_program_message(hSession);
  121 +}
  122 +
49 const LIB3270_INT_PROPERTY * lib3270_get_int_properties_list(void) { 123 const LIB3270_INT_PROPERTY * lib3270_get_int_properties_list(void) {
50 124
51 static const LIB3270_INT_PROPERTY properties[] = { 125 static const LIB3270_INT_PROPERTY properties[] = {
@@ -54,7 +128,8 @@ const LIB3270_INT_PROPERTY * lib3270_get_int_properties_list(void) { @@ -54,7 +128,8 @@ const LIB3270_INT_PROPERTY * lib3270_get_int_properties_list(void) {
54 .name = "cstate", // Property name. 128 .name = "cstate", // Property name.
55 .description = N_( "Connection state" ), // Property description. 129 .description = N_( "Connection state" ), // Property description.
56 .get = lib3270_get_connection_state_as_int, // Get value. 130 .get = lib3270_get_connection_state_as_int, // Get value.
57 - .set = NULL // Set value. 131 + .set = NULL, // Set value.
  132 + .describe = lib3270_get_connection_state_as_string
58 }, 133 },
59 134
60 { 135 {
@@ -62,28 +137,32 @@ const LIB3270_INT_PROPERTY * lib3270_get_int_properties_list(void) { @@ -62,28 +137,32 @@ const LIB3270_INT_PROPERTY * lib3270_get_int_properties_list(void) {
62 .group = LIB3270_ACTION_GROUP_ONLINE, // Property group. 137 .group = LIB3270_ACTION_GROUP_ONLINE, // Property group.
63 .description = N_( "Cursor address" ), // Property description. 138 .description = N_( "Cursor address" ), // Property description.
64 .get = lib3270_get_cursor_address, // Get value. 139 .get = lib3270_get_cursor_address, // Get value.
65 - .set = lib3270_set_cursor_address // Set value. 140 + .set = lib3270_set_cursor_address, // Set value.
  141 + .describe = NULL
66 }, 142 },
67 143
68 { 144 {
69 - .name = "program_message", // Property name.  
70 - .description = N_( "Latest program message" ), // Property description.  
71 - .get = lib3270_get_program_message_as_int, // Get value.  
72 - .set = NULL // Set value. 145 + .name = "program_message", // Property name.
  146 + .description = N_( "Latest program message" ), // Property description.
  147 + .get = lib3270_get_program_message_as_int, // Get value.
  148 + .set = NULL, // Set value.
  149 + .describe = lib3270_get_program_message_as_string
73 }, 150 },
74 151
75 { 152 {
76 .name = "ssl_state", // Property name. 153 .name = "ssl_state", // Property name.
77 .description = N_( "ID of the session security state" ), // Property description. 154 .description = N_( "ID of the session security state" ), // Property description.
78 .get = lib3270_get_ssl_state_as_int, // Get value. 155 .get = lib3270_get_ssl_state_as_int, // Get value.
79 - .set = NULL // Set value. 156 + .set = NULL, // Set value.
  157 + .describe = lib3270_get_ssl_state_as_string
80 }, 158 },
81 159
82 { 160 {
83 .name = NULL, 161 .name = NULL,
84 .description = NULL, 162 .description = NULL,
85 .get = NULL, 163 .get = NULL,
86 - .set = NULL 164 + .set = NULL, // Set value.
  165 + .describe = NULL
87 } 166 }
88 }; 167 };
89 168
src/core/properties/string.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
11 * 5 *
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes. 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
16 * 10 *
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
20 - *  
21 - * Este programa está nomeado como - e possui - linhas de código. 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
22 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 +/*
23 * Contatos: 21 * Contatos:
24 * 22 *
25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) 23 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
@@ -38,6 +36,14 @@ @@ -38,6 +36,14 @@
38 #include <lib3270/ssl.h> 36 #include <lib3270/ssl.h>
39 #include <lib3270/trace.h> 37 #include <lib3270/trace.h>
40 38
  39 +LIB3270_EXPORT const char * lib3270_get_termtype(const H3270 *hSession) {
  40 + return hSession->termtype;
  41 +}
  42 +
  43 +LIB3270_EXPORT const char * lib3270_get_termname(const H3270 *hSession) {
  44 + return hSession->termname;
  45 +}
  46 +
41 static const char * get_version(const H3270 GNUC_UNUSED(*hSession)) { 47 static const char * get_version(const H3270 GNUC_UNUSED(*hSession)) {
42 return lib3270_get_version(); 48 return lib3270_get_version();
43 } 49 }
@@ -46,15 +52,9 @@ static const char * get_revision(const H3270 GNUC_UNUSED(*hSession)) { @@ -46,15 +52,9 @@ static const char * get_revision(const H3270 GNUC_UNUSED(*hSession)) {
46 return lib3270_get_revision(); 52 return lib3270_get_revision();
47 } 53 }
48 54
49 -static const char * lib3270_get_termtype(const H3270 *hSession) {  
50 - return hSession->termtype;  
51 -}  
52 -  
53 -static const char * lib3270_get_termname(const H3270 *hSession) {  
54 - return hSession->termname;  
55 -}  
56 55
57 LIB3270_EXPORT const LIB3270_STRING_PROPERTY * lib3270_get_string_properties_list(void) { 56 LIB3270_EXPORT const LIB3270_STRING_PROPERTY * lib3270_get_string_properties_list(void) {
  57 +
58 static const LIB3270_STRING_PROPERTY properties[] = { 58 static const LIB3270_STRING_PROPERTY properties[] = {
59 59
60 { 60 {
@@ -124,27 +124,17 @@ LIB3270_EXPORT const LIB3270_STRING_PROPERTY * lib3270_get_string_properties_lis @@ -124,27 +124,17 @@ LIB3270_EXPORT const LIB3270_STRING_PROPERTY * lib3270_get_string_properties_lis
124 124
125 { 125 {
126 .name = "version", // Property name. 126 .name = "version", // Property name.
127 - .description = N_( "lib3270 version" ), // Property description. 127 + .description = N_( "Protocol library version" ), // Property description.
128 .get = get_version, // Get value. 128 .get = get_version, // Get value.
129 .set = NULL // Set value. 129 .set = NULL // Set value.
130 }, 130 },
131 131
132 { 132 {
133 - .name = "revision", // Property name.  
134 - .description = N_( "lib3270 revision" ), // Property description.  
135 - .get = get_revision, // Get value.  
136 - .set = NULL // Set value.  
137 - },  
138 -  
139 - /*  
140 - {  
141 - .name = "crl_url", // Property name.  
142 - .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group.  
143 - .description = N_( "URL for the certificate revocation list" ), // Property description.  
144 - .get = lib3270_crl_get_url, // Get value.  
145 - .set = lib3270_crl_set_url, // Set value. 133 + .name = "revision", // Property name.
  134 + .description = N_( "Protocol library revision" ), // Property description.
  135 + .get = get_revision, // Get value.
  136 + .set = NULL // Set value.
146 }, 137 },
147 - */  
148 138
149 { 139 {
150 .name = "crl_preferred_protocol", // Property name. 140 .name = "crl_preferred_protocol", // Property name.
src/core/properties/unsigned.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation.  
11 - *  
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
16 * 5 *
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
20 * 10 *
21 - * Este programa está nomeado como - e possui - linhas de código. 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
22 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 +/*
23 * Contatos: 21 * Contatos:
24 * 22 *
25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) 23 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
@@ -34,10 +32,6 @@ @@ -34,10 +32,6 @@
34 #include <lib3270/properties.h> 32 #include <lib3270/properties.h>
35 #include <lib3270/keyboard.h> 33 #include <lib3270/keyboard.h>
36 34
37 -unsigned int lib3270_get_kybdlock_as_int(const H3270 *hSession) {  
38 - return (unsigned int) lib3270_get_keyboard_lock_state(hSession);  
39 -}  
40 -  
41 const LIB3270_UINT_PROPERTY * lib3270_unsigned_property_get_by_name(const char *name) { 35 const LIB3270_UINT_PROPERTY * lib3270_unsigned_property_get_by_name(const char *name) {
42 size_t ix; 36 size_t ix;
43 const LIB3270_UINT_PROPERTY * list = lib3270_get_unsigned_properties_list(); 37 const LIB3270_UINT_PROPERTY * list = lib3270_get_unsigned_properties_list();
@@ -70,6 +64,10 @@ LIB3270_EXPORT int lib3270_set_auto_reconnect(H3270 *hSession, unsigned int time @@ -70,6 +64,10 @@ LIB3270_EXPORT int lib3270_set_auto_reconnect(H3270 *hSession, unsigned int time
70 return 0; 64 return 0;
71 } 65 }
72 66
  67 +static unsigned int lib3270_get_kybdlock_as_int(const H3270 *hSession) {
  68 + return (unsigned int) lib3270_get_keyboard_lock_state(hSession);
  69 +}
  70 +
73 const LIB3270_UINT_PROPERTY * lib3270_get_unsigned_properties_list(void) { 71 const LIB3270_UINT_PROPERTY * lib3270_get_unsigned_properties_list(void) {
74 72
75 static const LIB3270_UINT_PROPERTY properties[] = { 73 static const LIB3270_UINT_PROPERTY properties[] = {
src/core/util.c
@@ -239,6 +239,10 @@ LIB3270_EXPORT const char * lib3270_get_revision(void) { @@ -239,6 +239,10 @@ LIB3270_EXPORT const char * lib3270_get_revision(void) {
239 return RPQ_REVISION; 239 return RPQ_REVISION;
240 } 240 }
241 241
  242 +LIB3270_EXPORT int lib3270_check_revision(const char GNUC_UNUSED(*revision)) {
  243 + return 0;
  244 +}
  245 +
242 LIB3270_EXPORT const char * lib3270_get_product_name(void) { 246 LIB3270_EXPORT const char * lib3270_get_product_name(void) {
243 return LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME); 247 return LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME);
244 } 248 }
src/include/lib3270.h
@@ -94,6 +94,9 @@ @@ -94,6 +94,9 @@
94 #define LIB3270_STRINGIZE(x) #x 94 #define LIB3270_STRINGIZE(x) #x
95 #define LIB3270_STRINGIZE_VALUE_OF(x) LIB3270_STRINGIZE(x) 95 #define LIB3270_STRINGIZE_VALUE_OF(x) LIB3270_STRINGIZE(x)
96 96
  97 +typedef struct _h3270 H3270;
  98 +typedef struct _h3270ft H3270FT;
  99 +
97 /** 100 /**
98 * @brief BIND definitions. 101 * @brief BIND definitions.
99 */ 102 */
@@ -368,7 +371,8 @@ typedef enum _lib3270_action_group { @@ -368,7 +371,8 @@ typedef enum _lib3270_action_group {
368 const char * label; \ 371 const char * label; \
369 const char * icon; \ 372 const char * icon; \
370 const char * summary; \ 373 const char * summary; \
371 - const char * description; 374 + const char * description; \
  375 + const char * (*describe)(const H3270 *);
372 376
373 typedef struct _lib3270_property { 377 typedef struct _lib3270_property {
374 LIB3270_PROPERTY_HEAD 378 LIB3270_PROPERTY_HEAD
@@ -393,9 +397,6 @@ typedef enum _lib3270_state { @@ -393,9 +397,6 @@ typedef enum _lib3270_state {
393 LIB3270_STATE_USER // Always the last one 397 LIB3270_STATE_USER // Always the last one
394 } LIB3270_STATE; 398 } LIB3270_STATE;
395 399
396 -typedef struct _h3270 H3270;  
397 -typedef struct _h3270ft H3270FT;  
398 -  
399 /** 400 /**
400 * Get current screen size. 401 * Get current screen size.
401 * 402 *
@@ -1490,6 +1491,17 @@ LIB3270_EXPORT const char * lib3270_get_version(void); @@ -1490,6 +1491,17 @@ LIB3270_EXPORT const char * lib3270_get_version(void);
1490 */ 1491 */
1491 LIB3270_EXPORT const char * lib3270_get_revision(void); 1492 LIB3270_EXPORT const char * lib3270_get_revision(void);
1492 1493
  1494 +/**
  1495 + * @brief Test if the revision is valid.
  1496 + *
  1497 + * @param revision Revision number to check.
  1498 + *
  1499 + * @return 0 if the supplied revision is valid to the current library.
  1500 + *
  1501 + */
  1502 +LIB3270_EXPORT int lib3270_check_revision(const char *revision);
  1503 +
  1504 +
1493 LIB3270_EXPORT char * lib3270_vsprintf(const char *fmt, va_list args); 1505 LIB3270_EXPORT char * lib3270_vsprintf(const char *fmt, va_list args);
1494 LIB3270_EXPORT char * lib3270_strdup_printf(const char *fmt, ...); 1506 LIB3270_EXPORT char * lib3270_strdup_printf(const char *fmt, ...);
1495 1507
src/include/lib3270/properties.h
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software PW3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation.  
11 - *  
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
16 * 5 *
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
20 * 10 *
21 - * Este programa está nomeado como -.h e possui - linhas de código. 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
22 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 +/*
23 * Contatos: 21 * Contatos:
24 * 22 *
25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) 23 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26 - * erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) 24 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
27 * 25 *
28 */ 26 */
29 27
@@ -304,6 +302,12 @@ LIB3270_EXPORT int lib3270_set_auto_reconnect(H3270 *hSession, unsigned int time @@ -304,6 +302,12 @@ LIB3270_EXPORT int lib3270_set_auto_reconnect(H3270 *hSession, unsigned int time
304 */ 302 */
305 LIB3270_EXPORT unsigned int lib3270_get_auto_reconnect(const H3270 *hSession); 303 LIB3270_EXPORT unsigned int lib3270_get_auto_reconnect(const H3270 *hSession);
306 304
  305 +LIB3270_EXPORT const char * lib3270_get_connection_state_as_string(const H3270 *hSession);
  306 +LIB3270_EXPORT const char * lib3270_get_program_message_as_string(const H3270 *hSession);
  307 +LIB3270_EXPORT const char * lib3270_get_ssl_state_as_string(const H3270 * hSession);
  308 +LIB3270_EXPORT const char * lib3270_get_termtype(const H3270 *hSession);
  309 +LIB3270_EXPORT const char * lib3270_get_termname(const H3270 *hSession);
  310 +
307 #ifdef __cplusplus 311 #ifdef __cplusplus
308 } 312 }
309 #endif 313 #endif
src/network_modules/openssl/start.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software PW3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral ', conforme publicado pela  
10 - * Free Software Foundation.  
11 - *  
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes.  
16 - *  
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
20 - *  
21 - * Este programa está nomeado como openssl.c e possui - linhas de código. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
22 * 5 *
23 - * Contatos: 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
24 * 10 *
25 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
26 - * erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
27 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
28 */ 18 */
29 19
30 /** 20 /**
@@ -199,8 +189,17 @@ int x509_store_ctx_error_callback(int ok, X509_STORE_CTX GNUC_UNUSED(*ctx)) { @@ -199,8 +189,17 @@ int x509_store_ctx_error_callback(int ok, X509_STORE_CTX GNUC_UNUSED(*ctx)) {
199 int openssl_network_start_tls(H3270 *hSession) { 189 int openssl_network_start_tls(H3270 *hSession) {
200 190
201 SSL_CTX * ctx_context = (SSL_CTX *) lib3270_openssl_get_context(hSession); 191 SSL_CTX * ctx_context = (SSL_CTX *) lib3270_openssl_get_context(hSession);
202 - if(!ctx_context) 192 + if(!ctx_context) {
  193 +
  194 + if(!hSession->ssl.message) {
  195 + static const LIB3270_SSL_MESSAGE message = {
  196 + .type = LIB3270_NOTIFY_SECURE,
  197 + .summary = N_( "Cant get SSL context for current connection." )
  198 + };
  199 + hSession->ssl.message = &message;
  200 + }
203 return -1; 201 return -1;
  202 + }
204 203
205 LIB3270_NET_CONTEXT * context = hSession->network.context; 204 LIB3270_NET_CONTEXT * context = hSession->network.context;
206 205
@@ -212,7 +211,6 @@ int openssl_network_start_tls(H3270 *hSession) { @@ -212,7 +211,6 @@ int openssl_network_start_tls(H3270 *hSession) {
212 .type = LIB3270_NOTIFY_SECURE, 211 .type = LIB3270_NOTIFY_SECURE,
213 .summary = N_( "Cant create a new SSL structure for current connection." ) 212 .summary = N_( "Cant create a new SSL structure for current connection." )
214 }; 213 };
215 -  
216 hSession->ssl.message = &message; 214 hSession->ssl.message = &message;
217 return -1; 215 return -1;
218 } 216 }
@@ -241,6 +239,7 @@ int openssl_network_start_tls(H3270 *hSession) { @@ -241,6 +239,7 @@ int openssl_network_start_tls(H3270 *hSession) {
241 trace_ssl(hSession, "SSL_connect exits with rc=%d\n",rv); 239 trace_ssl(hSession, "SSL_connect exits with rc=%d\n",rv);
242 240
243 if (rv != 1) { 241 if (rv != 1) {
  242 +
244 LIB3270_SSL_MESSAGE message = { 243 LIB3270_SSL_MESSAGE message = {
245 .type = LIB3270_NOTIFY_ERROR, 244 .type = LIB3270_NOTIFY_ERROR,
246 .title = N_( "Connection failed" ), 245 .title = N_( "Connection failed" ),
@@ -313,7 +312,6 @@ int openssl_network_start_tls(H3270 *hSession) { @@ -313,7 +312,6 @@ int openssl_network_start_tls(H3270 *hSession) {
313 312
314 // CRL download is enabled and verification has failed; look for CRL file. 313 // CRL download is enabled and verification has failed; look for CRL file.
315 314
316 -  
317 trace_ssl(hSession,"CRL Validation has failed, requesting CRL download\n"); 315 trace_ssl(hSession,"CRL Validation has failed, requesting CRL download\n");
318 set_ssl_state(hSession,LIB3270_SSL_VERIFYING); 316 set_ssl_state(hSession,LIB3270_SSL_VERIFYING);
319 317
src/testprogram/testprogram.c
@@ -158,6 +158,7 @@ int main(int argc, char *argv[]) { @@ -158,6 +158,7 @@ int main(int argc, char *argv[]) {
158 printf("Datafile: \"%s\"\n",datafile); 158 printf("Datafile: \"%s\"\n",datafile);
159 } 159 }
160 160
  161 + /*
161 { 162 {
162 lib3270_autoptr(char) datafile = lib3270_build_config_filename("test","file.conf",NULL); 163 lib3270_autoptr(char) datafile = lib3270_build_config_filename("test","file.conf",NULL);
163 printf("Configfile: \"%s\"\n",datafile); 164 printf("Configfile: \"%s\"\n",datafile);
@@ -167,7 +168,9 @@ int main(int argc, char *argv[]) { @@ -167,7 +168,9 @@ int main(int argc, char *argv[]) {
167 lib3270_autoptr(char) datafile = lib3270_build_filename("Makefile",NULL); 168 lib3270_autoptr(char) datafile = lib3270_build_filename("Makefile",NULL);
168 printf("Custom file: \"%s\"\n",datafile); 169 printf("Custom file: \"%s\"\n",datafile);
169 } 170 }
  171 + */
170 172
  173 + exit(0);
171 174
172 //lib3270_set_toggle(h,LIB3270_TOGGLE_DS_TRACE,1); 175 //lib3270_set_toggle(h,LIB3270_TOGGLE_DS_TRACE,1);
173 lib3270_set_toggle(h,LIB3270_TOGGLE_SSL_TRACE,1); 176 lib3270_set_toggle(h,LIB3270_TOGGLE_SSL_TRACE,1);
win/bundle.common 0 → 100644
@@ -0,0 +1,359 @@ @@ -0,0 +1,359 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2023 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +# Check command-line arguments
  22 +argument() {
  23 +
  24 + local cmdline
  25 + for cmdline in ${BASH_ARGV[*]}
  26 + do
  27 + if [ "$(echo ${cmdline} | sed "s@^--@@g" | sed "s@^-@@g" | cut -d= -f1)" == "${1}" ]; then
  28 + local value
  29 + value="$(echo ${cmdline} | cut -d= -f2)"
  30 + if [ -z "${value}" ]; then
  31 + echo "1"
  32 + else
  33 + echo "${value}"
  34 + fi
  35 + return 0
  36 + fi
  37 + done
  38 + echo ""
  39 + return 2
  40 +}
  41 +
  42 +argument "help" > /dev/null
  43 +if [ "$?" == "0" ]; then
  44 + echo "Use ${0} options"
  45 + echo ""
  46 + echo " --help Help options (this screen)"
  47 + echo " --zip Build zipfile"
  48 +
  49 + if [ -e "${srcdir}/win/${PACKAGE_NAME}.nsi" ]; then
  50 + echo " --nsi Build nsi installer"
  51 + fi
  52 + echo " --upload Upload bundle to github"
  53 +fi
  54 +
  55 +# Setup default paths
  56 +srcdir="$(dirname $(dirname $(readlink -f "${0}")))"
  57 +cd ${srcdir}
  58 +if [ "$?" != "0" ]; then
  59 + echo "Cant cd to ${srcdir}"
  60 + exit -1
  61 +fi
  62 +
  63 +if [ -z ${MINGW_PREFIX} ]; then
  64 + if [ -d "/usr/x86_64-w64-mingw32/sys-root/mingw" ]; then
  65 + MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw"
  66 + PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config"
  67 + else
  68 + echo "Cant determine mingw prefix"
  69 + exit -1
  70 + fi
  71 +fi
  72 +
  73 +if [ -z ${PKG_CONFIG} ]; then
  74 + PKG_CONFIG=${MINGW_PREFX}/bin/pkg-config
  75 +fi
  76 +
  77 +PACKAGE_NAME=$(grep AC_INIT configure.ac | cut -d[ -f2 | cut -d] -f1)
  78 +if [ -z ${PACKAGE_NAME} ]; then
  79 + echo "Cant determine package name"
  80 + exit -1
  81 +fi
  82 +
  83 +PACKAGE_VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1)
  84 +if [ -z ${PACKAGE_VERSION} ]; then
  85 + echo "Cant determine package name"
  86 + exit -1
  87 +fi
  88 +
  89 +mkdir -p .bin/bundle
  90 +if [ "$?" != "0" ]; then
  91 + echo "Cant mkdir base buildroot"
  92 + exit -1
  93 +fi
  94 +
  95 +buildroot=$(readlink -f .bin/bundle)
  96 +if [ -z ${buildroot} ]; then
  97 + echo "Cant detect buildroot ${buildroot}"
  98 + exit -1
  99 +fi
  100 +
  101 +mkdir -p "${buildroot}"
  102 +if [ "$?" != "0" ]; then
  103 + echo "Cant mkdir ${buildroot}"
  104 + exit -1
  105 +fi
  106 +
  107 +rm -fr "${buildroot}/*"
  108 +if [ "$?" != "0" ]; then
  109 + echo "Cant clean ${buildroot}"
  110 + exit -1
  111 +fi
  112 +
  113 +bindir="${buildroot}${MINGW_PREFIX}/bin"
  114 +sysdir="${buildroot}/windows/system32"
  115 +
  116 +if [ -z "${WIN_ROOT}" ]; then
  117 + WIN_ROOT="/c/Windows"
  118 +fi
  119 +
  120 +export LANG=C
  121 +
  122 +prepare() {
  123 +
  124 + argument "help" > /dev/null
  125 + if [ "$?" == "0" ]; then
  126 + exit 0
  127 + fi
  128 +
  129 + rm -fr "${buildroot}"
  130 + mkdir -p "${buildroot}"
  131 +}
  132 +
  133 +install_bin() {
  134 +
  135 + mkdir -p "${bindir}"
  136 +
  137 + AGAIN=1
  138 + until [ $AGAIN = 0 ]; do
  139 +
  140 + SOURCES=$(mktemp)
  141 + REQUIRES=$(mktemp)
  142 +
  143 + find "${buildroot}" -iname "*.dll" > ${SOURCES}
  144 + find "${buildroot}" -iname "*.exe" >> ${SOURCES}
  145 +
  146 + while read FILENAME
  147 + do
  148 + echo ${FILENAME}
  149 + objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}
  150 + done < ${SOURCES}
  151 +
  152 + libs_to_exclude="
  153 + advapi32.dll
  154 + cfgmgr32.dll
  155 + comctl32.dll
  156 + comdlg32.dll
  157 + crypt32.dll
  158 + d3d8.dll
  159 + d3d9.dll
  160 + ddraw.dll
  161 + dnsapi.dll
  162 + dsound.dll
  163 + dwmapi.dll
  164 + gdi32.dll
  165 + gdiplus.dll
  166 + glu32.dll
  167 + glut32.dll
  168 + imm32.dll
  169 + iphlpapi.dll
  170 + kernel32.dll
  171 + ksuser.dll
  172 + mpr.dll
  173 + mscms.dll
  174 + mscoree.dll
  175 + msimg32.dll
  176 + msvcr71.dll
  177 + msvcr80.dll
  178 + msvcr90.dll
  179 + msvcrt.dll
  180 + mswsock.dll
  181 + netapi32.dll
  182 + odbc32.dll
  183 + ole32.dll
  184 + oleacc.dll
  185 + oleaut32.dll
  186 + opengl32.dll
  187 + psapi.dll
  188 + rpcrt4.dll
  189 + secur32.dll
  190 + setupapi.dll
  191 + shell32.dll
  192 + shlwapi.dll
  193 + user32.dll
  194 + usp10.dll
  195 + version.dll
  196 + wininet.dll
  197 + winmm.dll
  198 + wldap32.dll
  199 + ws2_32.dll
  200 + wsock32.dll
  201 + winspool.drv
  202 + ntdll.dll
  203 + winhttp.dll
  204 + hid.dll
  205 + bcrypt.dll
  206 + "
  207 +
  208 + # Remove system DLLs from list
  209 + for i in $libs_to_exclude; do
  210 + sed -i -e "/${i}/d" ${REQUIRES}
  211 + done
  212 +
  213 + AGAIN=0
  214 + while read FILENAME
  215 + do
  216 +
  217 + echo ${FILENAME}
  218 +
  219 + if [ ! -e "${bindir}/${FILENAME}" ]; then
  220 +
  221 + if [ -e ${MINGW_PREFIX}/bin/${FILENAME} ]; then
  222 +
  223 + AGAIN=1
  224 + cp -v "${MINGW_PREFIX}/bin/${FILENAME}" "${bindir}/${FILENAME}"
  225 + if [ "$?" != "0" ]; then
  226 + exit -1
  227 + fi
  228 +
  229 + elif [ -e ${MINGW_PREFIX}/lib/${FILENAME} ]; then
  230 +
  231 + AGAIN=1
  232 + cp -v "${MINGW_PREFIX}/lib/${FILENAME}" "${bindir}/${FILENAME}"
  233 + if [ "$?" != "0" ]; then
  234 + exit -1
  235 + fi
  236 +
  237 + elif [ -e "${WIN_ROOT}/System32/${FILENAME}" ]; then
  238 +
  239 + echo "Ignoring ${WIN_ROOT}/System32/${FILENAME}"
  240 +
  241 + else
  242 +
  243 + echo "Can't find ${MINGW_PREFIX}/bin/${FILENAME} or ${WIN_ROOT}/System32/${FILENAME}"
  244 + find "${MINGW_PREFIX}" -iname "${FILENAME}"
  245 + exit -1
  246 +
  247 + fi
  248 +
  249 + fi
  250 +
  251 + done < ${REQUIRES}
  252 +
  253 + rm -f ${SOURCES}
  254 + rm -f ${REQUIRES}
  255 +
  256 + done
  257 +
  258 + # libhllapi should be available in windows path
  259 + if [ -e "${bindir}/libhllapi.dll" ]; then
  260 + mkdir -p "${sysdir}"
  261 + mv "${bindir}/libhllapi.dll" "${sysdir}"
  262 + if [ "$?" != "0" ]; then
  263 + exit -1
  264 + fi
  265 + fi
  266 +
  267 +}
  268 +
  269 +install_locale() {
  270 +
  271 + mkdir -p ${buildroot}${MINGW_PREFIX}/share/locale/pt_BR/LC_MESSAGES
  272 +
  273 + locales="
  274 + gettext-runtime.mo
  275 + gettext-tools.mo
  276 + glib20.mo
  277 + gtk30.mo
  278 + gtk30-properties.mo
  279 + "
  280 +
  281 + FILENAMES=$(mktemp)
  282 + for i in ${locales}
  283 + do
  284 + find "${MINGW_PREFIX}/share/locale" -name ${i} >> ${FILENAMES}
  285 + done
  286 +
  287 + while read FILENAME
  288 + do
  289 + mkdir -p $(dirname "${buildroot}${FILENAME}")
  290 + cp -v "${FILENAME}" "${buildroot}${FILENAME}"
  291 + if [ "$?" != "0" ]; then
  292 + exit -1
  293 + fi
  294 + done < ${FILENAMES}
  295 + rm -f ${FILENAMES}
  296 +}
  297 +
  298 +
  299 +make_zip() {
  300 +
  301 + cd ${buildroot}${MINGW_PREFIX}
  302 + if [ "$?" != "0" ]; then
  303 + exit -1
  304 + fi
  305 +
  306 + rm -f ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip
  307 +
  308 + zip -9 -r ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip .
  309 + if [ "$?" != "0" ]; then
  310 + exit -1
  311 + fi
  312 +
  313 + cd ${srcdir}
  314 + if [ "$?" != "0" ]; then
  315 + exit -1
  316 + fi
  317 +
  318 + if [ -z $(which gh 2> /dev/null) ]; then
  319 + return 0
  320 + fi
  321 +
  322 + argument "upload" > /dev/null
  323 + if [ "$?" == "0" ]; then
  324 + gh release upload --clobber "${PACKAGE_VERSION}" ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip
  325 + fi
  326 +
  327 +}
  328 +
  329 +install_license() {
  330 + mkdir -p "${buildroot}${MINGW_PREFIX}/usr/share/${PACKAGE_NAME}"
  331 + cp "${srcdir}/LICENSE" "${buildroot}${MINGW_PREFIX}/usr/share/${PACKAGE_NAME}"
  332 + if [ "$?" != "0" ]; then
  333 + echo "Cant copy LICENSE"
  334 + exit -1
  335 + fi
  336 +}
  337 +
  338 +install_runtime() {
  339 + install_bin
  340 + install_locale
  341 +}
  342 +
  343 +build_package() {
  344 +
  345 + # Build
  346 + make -C "${srcdir}" all
  347 + if [ "$?" != "0" ]; then
  348 + echo "Build failed"
  349 + exit -1
  350 + fi
  351 +
  352 + make -C "${srcdir}" "DESTDIR=${buildroot}" install
  353 + if [ "$?" != "0" ]; then
  354 + echo "Install failed"
  355 + exit -1
  356 + fi
  357 +
  358 +}
  359 +
win/bundle.cross 0 → 100755
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2023 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw"
  22 +PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config"
  23 +MINGW_PACKAGE_PREFIX="mingw64"
  24 +
  25 +# Load bundle functions
  26 +. "$(dirname $(readlink -f "${0}"))/bundle.common"
  27 +
  28 +argument "help" > /dev/null
  29 +if [ "$?" == "0" ]; then
  30 + echo " --install-requires Install required packages"
  31 + echo " --build Build application from source"
  32 +fi
  33 +
  34 +prepare
  35 +
  36 +argument "build" > /dev/null
  37 +if [ "$?" == "0" ]; then
  38 +
  39 + NOCONFIGURE=1 ./autogen.sh
  40 + if [ "$?" != "0" ]; then
  41 + echo "Configure failed"
  42 + exit -1
  43 + fi
  44 +
  45 + ${MINGW_PACKAGE_PREFIX}-configure
  46 + if [ "$?" != "0" ]; then
  47 + echo "Configure failed"
  48 + exit -1
  49 + fi
  50 +
  51 + build_package
  52 +
  53 +fi
  54 +
  55 +install_bin
  56 +install_license
  57 +make_zip
  58 +
  59 +echo "Bundle build complete"
  60 +
win/bundle.msys 0 → 100755
@@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2023 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +# Load bundle functions
  22 +. "$(dirname $(readlink -f "${0}"))/bundle.common"
  23 +
  24 +prepare
  25 +
  26 +argument "pre-reqs" > /dev/null
  27 +if [ "$?" == "0" ]; then
  28 + pacman \
  29 + -S --needed \
  30 + zip \
  31 + autoconf \
  32 + automake \
  33 + make \
  34 + libtool \
  35 + pkgconf \
  36 + gzip \
  37 + dos2unix \
  38 + ${MINGW_PACKAGE_PREFIX}-gcc \
  39 + ${MINGW_PACKAGE_PREFIX}-gettext \
  40 + ${MINGW_PACKAGE_PREFIX}-openssl
  41 +
  42 + if [ "$?" != "0" ]; then
  43 + echo "pacman failed"
  44 + exit -1
  45 + fi
  46 +fi
  47 +
  48 +argument "build" > /dev/null
  49 +if [ "$?" == "0" ]; then
  50 +
  51 + NOCONFIGURE=1 ./autogen.sh
  52 + if [ "$?" != "0" ]; then
  53 + echo "Configure failed"
  54 + exit -1
  55 + fi
  56 +
  57 + ./configure
  58 + if [ "$?" != "0" ]; then
  59 + echo "Configure failed"
  60 + exit -1
  61 + fi
  62 +
  63 +fi
  64 +
  65 +build_package
  66 +install_bin
  67 +install_license
  68 +make_zip
  69 +
  70 +
win/lib3270.def
@@ -21,333 +21,339 @@ EXPORTS @@ -21,333 +21,339 @@ EXPORTS
21 lib3270_calloc @20 21 lib3270_calloc @20
22 lib3270_can_paste_next @21 22 lib3270_can_paste_next @21
23 lib3270_charsettable @22 23 lib3270_charsettable @22
24 - lib3270_chomp @23  
25 - lib3270_chug @24  
26 - lib3270_clear @25  
27 - lib3270_clear_operator_error @26  
28 - lib3270_cmp_string_at @27  
29 - lib3270_cmp_string_at_address @28  
30 - lib3270_connect_url @29  
31 - lib3270_connection_state_get_name @30  
32 - lib3270_crl_get_preferred_protocol @31  
33 - lib3270_crl_set_preferred_protocol @32  
34 - lib3270_cursor_down @33  
35 - lib3270_cursor_left @34  
36 - lib3270_cursor_right @35  
37 - lib3270_cursor_up @36  
38 - lib3270_cut_selected @37  
39 - lib3270_data_recv @38  
40 - lib3270_delete @39  
41 - lib3270_deletefield @40  
42 - lib3270_deleteword @41  
43 - lib3270_disconnect @42  
44 - lib3270_drag_selection @43  
45 - lib3270_dup @44  
46 - lib3270_ebc2asc @45  
47 - lib3270_emulate_input @46  
48 - lib3270_enter @47  
49 - lib3270_erase @48  
50 - lib3270_erase_selected @49  
51 - lib3270_eraseeof @50  
52 - lib3270_eraseeol @51  
53 - lib3270_eraseinput @52  
54 - lib3270_field_addr @53  
55 - lib3270_field_length @54  
56 - lib3270_fieldend @55  
57 - lib3270_fieldmark @56  
58 - lib3270_firstfield @57  
59 - lib3270_free @58  
60 - lib3270_ft_cancel @59  
61 - lib3270_ft_destroy @60  
62 - lib3270_ft_get_user_data @61  
63 - lib3270_ft_new @62  
64 - lib3270_ft_set_blksize @63  
65 - lib3270_ft_set_lrecl @64  
66 - lib3270_ft_set_options @65  
67 - lib3270_ft_set_primspace @66  
68 - lib3270_ft_set_secspace @67  
69 - lib3270_ft_set_user_data @68  
70 - lib3270_ft_start @69  
71 - lib3270_get_action @70  
72 - lib3270_get_actions @71  
73 - lib3270_get_associated_luname @72  
74 - lib3270_get_attribute_at_address @73  
75 - lib3270_get_auto_reconnect @74  
76 - lib3270_get_boolean_properties_list @75  
77 - lib3270_get_color_type @76  
78 - lib3270_get_connection_state @77  
79 - lib3270_get_contents @78  
80 - lib3270_get_cursor_address @79  
81 - lib3270_get_cursor_position @80  
82 - lib3270_get_default_charset @81  
83 - lib3270_get_default_host @82  
84 - lib3270_get_default_session_handle @83  
85 - lib3270_get_display_charset @84  
86 - lib3270_get_element @85  
87 - lib3270_get_field_attribute @86  
88 - lib3270_get_field_bounds @87  
89 - lib3270_get_field_end @88  
90 - lib3270_get_field_len @89  
91 - lib3270_get_field_start @90  
92 - lib3270_get_field_string_at @91  
93 - lib3270_get_ft_callbacks @92  
94 - lib3270_get_ft_state @93  
95 - lib3270_get_has_copy @94  
96 - lib3270_get_has_selection @95  
97 - lib3270_get_height @96  
98 - lib3270_get_host @97  
99 - lib3270_get_host_charset @98  
100 - lib3270_get_host_type @99  
101 - lib3270_get_host_type_name @100  
102 - lib3270_get_installation_path @101  
103 - lib3270_get_int_properties_list @102  
104 - lib3270_get_int_property @103  
105 - lib3270_get_is_protected @104  
106 - lib3270_get_is_protected_at @105  
107 - lib3270_get_keyboard_lock_state @106  
108 - lib3270_get_length @107  
109 - lib3270_get_lock_on_operator_error @108  
110 - lib3270_get_lock_status @109  
111 - lib3270_get_log_filename @110  
112 - lib3270_get_lunames @111  
113 - lib3270_get_max_height @112  
114 - lib3270_get_max_width @113  
115 - lib3270_get_model @114  
116 - lib3270_get_model_name @115  
117 - lib3270_get_model_number @116  
118 - lib3270_get_next_unprotected @117  
119 - lib3270_get_numeric_lock @118  
120 - lib3270_get_oia_box_solid @119  
121 - lib3270_get_option_list @120  
122 - lib3270_get_oversize @121  
123 - lib3270_get_pointer @122  
124 - lib3270_get_product_name @123  
125 - lib3270_get_program_message @124  
126 - lib3270_get_region @125  
127 - lib3270_get_revision @126  
128 - lib3270_get_screen_size @127  
129 - lib3270_get_selected @128  
130 - lib3270_get_selected_text @129  
131 - lib3270_get_selection @130  
132 - lib3270_get_selection_bounds @131  
133 - lib3270_get_selection_flags @132  
134 - lib3270_get_selection_rectangle @133  
135 - lib3270_get_session_callbacks @134  
136 - lib3270_get_session_id @135  
137 - lib3270_get_ssl_crl_text @136  
138 - lib3270_get_ssl_peer_certificate_text @137  
139 - lib3270_get_ssl_state @138  
140 - lib3270_get_ssl_state_description @139  
141 - lib3270_get_ssl_state_icon_name @140  
142 - lib3270_get_ssl_state_message @141  
143 - lib3270_get_string_at @142  
144 - lib3270_get_string_at_address @143  
145 - lib3270_get_string_properties_list @144  
146 - lib3270_get_task_count @145  
147 - lib3270_get_toggle @146  
148 - lib3270_get_toggle_description @147  
149 - lib3270_get_toggle_id @148  
150 - lib3270_get_toggle_label @149  
151 - lib3270_get_toggle_list @150  
152 - lib3270_get_toggle_name @151  
153 - lib3270_get_toggle_summary @152  
154 - lib3270_get_toggles @153  
155 - lib3270_get_trace_filename @154  
156 - lib3270_get_trace_handler @155  
157 - lib3270_get_translation_domain @156  
158 - lib3270_get_typeahead @157  
159 - lib3270_get_undera @158  
160 - lib3270_get_unlock_delay @159  
161 - lib3270_get_unsigned_properties_list @160  
162 - lib3270_get_url @161  
163 - lib3270_get_user_data @162  
164 - lib3270_get_version @163  
165 - lib3270_get_version_info @164  
166 - lib3270_get_width @165  
167 - lib3270_get_word_bounds @166  
168 - lib3270_getpeername @167  
169 - lib3270_getsockname @168  
170 - lib3270_half_connected @169  
171 - lib3270_has_active_script @170  
172 - lib3270_has_selection @171  
173 - lib3270_host_get_name @172  
174 - lib3270_iconv_free @173  
175 - lib3270_iconv_from_host @174  
176 - lib3270_iconv_new @175  
177 - lib3270_iconv_to_host @176  
178 - lib3270_in_3270 @177  
179 - lib3270_in_ansi @178  
180 - lib3270_in_e @179  
181 - lib3270_in_neither @180  
182 - lib3270_in_sscp @181  
183 - lib3270_in_tn3270e @182  
184 - lib3270_input_string @183  
185 - lib3270_is_as400 @184  
186 - lib3270_is_connected @185  
187 - lib3270_is_disconnected @186  
188 - lib3270_is_formatted @187  
189 - lib3270_is_protected @188  
190 - lib3270_is_ready @189  
191 - lib3270_is_secure @190  
192 - lib3270_is_selected @191  
193 - lib3270_is_tso @192  
194 - lib3270_is_unlocked @193  
195 - lib3270_kybdreset @194  
196 - lib3270_load @195  
197 - lib3270_main_iterate @196  
198 - lib3270_malloc @197  
199 - lib3270_move_cursor @198  
200 - lib3270_move_selected_area @199  
201 - lib3270_move_selection @200  
202 - lib3270_newline @201  
203 - lib3270_nextfield @202  
204 - lib3270_nextword @203  
205 - lib3270_pakey @204  
206 - lib3270_parse_host_type @205  
207 - lib3270_paste_next @206  
208 - lib3270_paste_text @207  
209 - lib3270_pconnected @208  
210 - lib3270_pfkey @209  
211 - lib3270_popup @210  
212 - lib3270_popup_an_errno @211  
213 - lib3270_popup_clone_printf @212  
214 - lib3270_popup_dialog @213  
215 - lib3270_popup_va @214  
216 - lib3270_previousfield @215  
217 - lib3270_previousword @216  
218 - lib3270_print @217  
219 - lib3270_print_all @218  
220 - lib3270_print_copy @219  
221 - lib3270_print_selected @220  
222 - lib3270_property_get_by_name @221  
223 - lib3270_property_get_description @222  
224 - lib3270_property_get_label @223  
225 - lib3270_property_get_name @224  
226 - lib3270_property_get_summary @225  
227 - lib3270_property_get_tooltip @226  
228 - lib3270_realloc @227  
229 - lib3270_receive @228  
230 - lib3270_reconnect @229  
231 - lib3270_register_action_group_listener @230  
232 - lib3270_register_fd_handlers @231  
233 - lib3270_register_io_controller @232  
234 - lib3270_register_schange @233  
235 - lib3270_register_timer_handlers @234  
236 - lib3270_register_toggle_listener @235  
237 - lib3270_remap_char @236  
238 - lib3270_remove_poll @237  
239 - lib3270_remove_poll_fd @238  
240 - lib3270_reselect @239  
241 - lib3270_reset_callbacks @240  
242 - lib3270_reset_charset @241  
243 - lib3270_reset_ft_callbacks @242  
244 - lib3270_ring_bell @243  
245 - lib3270_run_task @244  
246 - lib3270_save @245  
247 - lib3270_save_all @246  
248 - lib3270_save_copy @247  
249 - lib3270_save_selected @248  
250 - lib3270_select_all @249  
251 - lib3270_select_field @250  
252 - lib3270_select_field_at @251  
253 - lib3270_select_region @252  
254 - lib3270_select_to @253  
255 - lib3270_select_word @254  
256 - lib3270_select_word_at @255  
257 - lib3270_selection_get_length @256  
258 - lib3270_selection_new @257  
259 - lib3270_send @258  
260 - lib3270_service_get_name @259  
261 - lib3270_session_free @260  
262 - lib3270_session_new @261  
263 - lib3270_set_as400 @262  
264 - lib3270_set_auto_reconnect @263  
265 - lib3270_set_boolean_property @264  
266 - lib3270_set_color_type @265  
267 - lib3270_set_connected_initial @266  
268 - lib3270_set_cursor_address @267  
269 - lib3270_set_cursor_position @268  
270 - lib3270_set_dft_buffersize @269  
271 - lib3270_set_disconnected @270  
272 - lib3270_set_field @271  
273 - lib3270_set_has_copy @272  
274 - lib3270_set_host_charset @273  
275 - lib3270_set_host_type @274  
276 - lib3270_set_host_type_by_name @275  
277 - lib3270_set_int_property @276  
278 - lib3270_set_lock_on_operator_error @277  
279 - lib3270_set_log_filename @278  
280 - lib3270_set_log_handler @279  
281 - lib3270_set_lunames @280  
282 - lib3270_set_model @281  
283 - lib3270_set_model_name @282  
284 - lib3270_set_model_number @283  
285 - lib3270_set_numeric_lock @284  
286 - lib3270_set_oversize @285  
287 - lib3270_set_poll_state @286  
288 - lib3270_set_popup_handler @287  
289 - lib3270_set_session_id @288  
290 - lib3270_set_string @289  
291 - lib3270_set_string_at @290  
292 - lib3270_set_string_at_address @291  
293 - lib3270_set_string_property @292  
294 - lib3270_set_syslog @293  
295 - lib3270_set_toggle @294  
296 - lib3270_set_trace_filename @295  
297 - lib3270_set_trace_handler @296  
298 - lib3270_set_tso @297  
299 - lib3270_set_uint_property @298  
300 - lib3270_set_unlock_delay @299  
301 - lib3270_set_url @300  
302 - lib3270_set_user_data @301  
303 - lib3270_setup_session @302  
304 - lib3270_ssl_get_crl_download @303  
305 - lib3270_ssl_set_crl_download @304  
306 - lib3270_state_get_name @305  
307 - lib3270_strdup @306  
308 - lib3270_strdup_printf @307  
309 - lib3270_strip @308  
310 - lib3270_sysreq @309  
311 - lib3270_testpattern @310  
312 - lib3270_toggle @311  
313 - lib3270_toggle_get_by_name @312  
314 - lib3270_toggle_get_description @313  
315 - lib3270_toggle_get_from_id @314  
316 - lib3270_toggle_get_label @315  
317 - lib3270_toggle_get_name @316  
318 - lib3270_toggle_get_summary @317  
319 - lib3270_trace_data @318  
320 - lib3270_trace_event @319  
321 - lib3270_translate_char @320  
322 - lib3270_translate_ft_message @321  
323 - lib3270_translate_to_address @322  
324 - lib3270_unregister_action_group_listener @323  
325 - lib3270_unregister_schange @324  
326 - lib3270_unregister_toggle_listener @325  
327 - lib3270_unselect @326  
328 - lib3270_unsigned_property_get_by_name @327  
329 - lib3270_update_poll_fd @328  
330 - lib3270_vsprintf @329  
331 - lib3270_wait @330  
332 - lib3270_wait_for_connected @331  
333 - lib3270_wait_for_cstate @332  
334 - lib3270_wait_for_keyboard_unlock @333  
335 - lib3270_wait_for_ready @334  
336 - lib3270_wait_for_string @335  
337 - lib3270_wait_for_string_at @336  
338 - lib3270_wait_for_string_at_address @337  
339 - lib3270_wait_for_update @338  
340 - lib3270_win32_create_regkey @339  
341 - lib3270_win32_get_dword @340  
342 - lib3270_win32_local_charset @341  
343 - lib3270_win32_set_string @342  
344 - lib3270_win32_strerror @343  
345 - lib3270_win32_translate_error_code @344  
346 - lib3270_write_dstrace @345  
347 - lib3270_write_event_trace @346  
348 - lib3270_write_log @347  
349 - lib3270_write_nettrace @348  
350 - lib3270_write_rc @349  
351 - lib3270_write_screen_trace @350  
352 - lib3270_write_trace @351  
353 - lib3270_write_va_log @352 24 + lib3270_check_revision @23
  25 + lib3270_chomp @24
  26 + lib3270_chug @25
  27 + lib3270_clear @26
  28 + lib3270_clear_operator_error @27
  29 + lib3270_cmp_string_at @28
  30 + lib3270_cmp_string_at_address @29
  31 + lib3270_connect_url @30
  32 + lib3270_connection_state_get_name @31
  33 + lib3270_crl_get_preferred_protocol @32
  34 + lib3270_crl_set_preferred_protocol @33
  35 + lib3270_cursor_down @34
  36 + lib3270_cursor_left @35
  37 + lib3270_cursor_right @36
  38 + lib3270_cursor_up @37
  39 + lib3270_cut_selected @38
  40 + lib3270_data_recv @39
  41 + lib3270_delete @40
  42 + lib3270_deletefield @41
  43 + lib3270_deleteword @42
  44 + lib3270_disconnect @43
  45 + lib3270_drag_selection @44
  46 + lib3270_dup @45
  47 + lib3270_ebc2asc @46
  48 + lib3270_emulate_input @47
  49 + lib3270_enter @48
  50 + lib3270_erase @49
  51 + lib3270_erase_selected @50
  52 + lib3270_eraseeof @51
  53 + lib3270_eraseeol @52
  54 + lib3270_eraseinput @53
  55 + lib3270_field_addr @54
  56 + lib3270_field_length @55
  57 + lib3270_fieldend @56
  58 + lib3270_fieldmark @57
  59 + lib3270_firstfield @58
  60 + lib3270_free @59
  61 + lib3270_ft_cancel @60
  62 + lib3270_ft_destroy @61
  63 + lib3270_ft_get_user_data @62
  64 + lib3270_ft_new @63
  65 + lib3270_ft_set_blksize @64
  66 + lib3270_ft_set_lrecl @65
  67 + lib3270_ft_set_options @66
  68 + lib3270_ft_set_primspace @67
  69 + lib3270_ft_set_secspace @68
  70 + lib3270_ft_set_user_data @69
  71 + lib3270_ft_start @70
  72 + lib3270_get_action @71
  73 + lib3270_get_actions @72
  74 + lib3270_get_associated_luname @73
  75 + lib3270_get_attribute_at_address @74
  76 + lib3270_get_auto_reconnect @75
  77 + lib3270_get_boolean_properties_list @76
  78 + lib3270_get_color_type @77
  79 + lib3270_get_connection_state @78
  80 + lib3270_get_connection_state_as_string @79
  81 + lib3270_get_contents @80
  82 + lib3270_get_cursor_address @81
  83 + lib3270_get_cursor_position @82
  84 + lib3270_get_default_charset @83
  85 + lib3270_get_default_host @84
  86 + lib3270_get_default_session_handle @85
  87 + lib3270_get_display_charset @86
  88 + lib3270_get_element @87
  89 + lib3270_get_field_attribute @88
  90 + lib3270_get_field_bounds @89
  91 + lib3270_get_field_end @90
  92 + lib3270_get_field_len @91
  93 + lib3270_get_field_start @92
  94 + lib3270_get_field_string_at @93
  95 + lib3270_get_ft_callbacks @94
  96 + lib3270_get_ft_state @95
  97 + lib3270_get_has_copy @96
  98 + lib3270_get_has_selection @97
  99 + lib3270_get_height @98
  100 + lib3270_get_host @99
  101 + lib3270_get_host_charset @100
  102 + lib3270_get_host_type @101
  103 + lib3270_get_host_type_name @102
  104 + lib3270_get_installation_path @103
  105 + lib3270_get_int_properties_list @104
  106 + lib3270_get_int_property @105
  107 + lib3270_get_is_protected @106
  108 + lib3270_get_is_protected_at @107
  109 + lib3270_get_keyboard_lock_state @108
  110 + lib3270_get_length @109
  111 + lib3270_get_lock_on_operator_error @110
  112 + lib3270_get_lock_status @111
  113 + lib3270_get_log_filename @112
  114 + lib3270_get_lunames @113
  115 + lib3270_get_max_height @114
  116 + lib3270_get_max_width @115
  117 + lib3270_get_model @116
  118 + lib3270_get_model_name @117
  119 + lib3270_get_model_number @118
  120 + lib3270_get_next_unprotected @119
  121 + lib3270_get_numeric_lock @120
  122 + lib3270_get_oia_box_solid @121
  123 + lib3270_get_option_list @122
  124 + lib3270_get_oversize @123
  125 + lib3270_get_pointer @124
  126 + lib3270_get_product_name @125
  127 + lib3270_get_program_message @126
  128 + lib3270_get_program_message_as_string @127
  129 + lib3270_get_region @128
  130 + lib3270_get_revision @129
  131 + lib3270_get_screen_size @130
  132 + lib3270_get_selected @131
  133 + lib3270_get_selected_text @132
  134 + lib3270_get_selection @133
  135 + lib3270_get_selection_bounds @134
  136 + lib3270_get_selection_flags @135
  137 + lib3270_get_selection_rectangle @136
  138 + lib3270_get_session_callbacks @137
  139 + lib3270_get_session_id @138
  140 + lib3270_get_ssl_crl_text @139
  141 + lib3270_get_ssl_peer_certificate_text @140
  142 + lib3270_get_ssl_state @141
  143 + lib3270_get_ssl_state_as_string @142
  144 + lib3270_get_ssl_state_description @143
  145 + lib3270_get_ssl_state_icon_name @144
  146 + lib3270_get_ssl_state_message @145
  147 + lib3270_get_string_at @146
  148 + lib3270_get_string_at_address @147
  149 + lib3270_get_string_properties_list @148
  150 + lib3270_get_task_count @149
  151 + lib3270_get_termname @150
  152 + lib3270_get_termtype @151
  153 + lib3270_get_toggle @152
  154 + lib3270_get_toggle_description @153
  155 + lib3270_get_toggle_id @154
  156 + lib3270_get_toggle_label @155
  157 + lib3270_get_toggle_list @156
  158 + lib3270_get_toggle_name @157
  159 + lib3270_get_toggle_summary @158
  160 + lib3270_get_toggles @159
  161 + lib3270_get_trace_filename @160
  162 + lib3270_get_trace_handler @161
  163 + lib3270_get_translation_domain @162
  164 + lib3270_get_typeahead @163
  165 + lib3270_get_undera @164
  166 + lib3270_get_unlock_delay @165
  167 + lib3270_get_unsigned_properties_list @166
  168 + lib3270_get_url @167
  169 + lib3270_get_user_data @168
  170 + lib3270_get_version @169
  171 + lib3270_get_version_info @170
  172 + lib3270_get_width @171
  173 + lib3270_get_word_bounds @172
  174 + lib3270_getpeername @173
  175 + lib3270_getsockname @174
  176 + lib3270_half_connected @175
  177 + lib3270_has_active_script @176
  178 + lib3270_has_selection @177
  179 + lib3270_host_get_name @178
  180 + lib3270_iconv_free @179
  181 + lib3270_iconv_from_host @180
  182 + lib3270_iconv_new @181
  183 + lib3270_iconv_to_host @182
  184 + lib3270_in_3270 @183
  185 + lib3270_in_ansi @184
  186 + lib3270_in_e @185
  187 + lib3270_in_neither @186
  188 + lib3270_in_sscp @187
  189 + lib3270_in_tn3270e @188
  190 + lib3270_input_string @189
  191 + lib3270_is_as400 @190
  192 + lib3270_is_connected @191
  193 + lib3270_is_disconnected @192
  194 + lib3270_is_formatted @193
  195 + lib3270_is_protected @194
  196 + lib3270_is_ready @195
  197 + lib3270_is_secure @196
  198 + lib3270_is_selected @197
  199 + lib3270_is_tso @198
  200 + lib3270_is_unlocked @199
  201 + lib3270_kybdreset @200
  202 + lib3270_load @201
  203 + lib3270_main_iterate @202
  204 + lib3270_malloc @203
  205 + lib3270_move_cursor @204
  206 + lib3270_move_selected_area @205
  207 + lib3270_move_selection @206
  208 + lib3270_newline @207
  209 + lib3270_nextfield @208
  210 + lib3270_nextword @209
  211 + lib3270_pakey @210
  212 + lib3270_parse_host_type @211
  213 + lib3270_paste_next @212
  214 + lib3270_paste_text @213
  215 + lib3270_pconnected @214
  216 + lib3270_pfkey @215
  217 + lib3270_popup @216
  218 + lib3270_popup_an_errno @217
  219 + lib3270_popup_clone_printf @218
  220 + lib3270_popup_dialog @219
  221 + lib3270_popup_va @220
  222 + lib3270_previousfield @221
  223 + lib3270_previousword @222
  224 + lib3270_print @223
  225 + lib3270_print_all @224
  226 + lib3270_print_copy @225
  227 + lib3270_print_selected @226
  228 + lib3270_property_get_by_name @227
  229 + lib3270_property_get_description @228
  230 + lib3270_property_get_label @229
  231 + lib3270_property_get_name @230
  232 + lib3270_property_get_summary @231
  233 + lib3270_property_get_tooltip @232
  234 + lib3270_realloc @233
  235 + lib3270_receive @234
  236 + lib3270_reconnect @235
  237 + lib3270_register_action_group_listener @236
  238 + lib3270_register_fd_handlers @237
  239 + lib3270_register_io_controller @238
  240 + lib3270_register_schange @239
  241 + lib3270_register_timer_handlers @240
  242 + lib3270_register_toggle_listener @241
  243 + lib3270_remap_char @242
  244 + lib3270_remove_poll @243
  245 + lib3270_remove_poll_fd @244
  246 + lib3270_reselect @245
  247 + lib3270_reset_callbacks @246
  248 + lib3270_reset_charset @247
  249 + lib3270_reset_ft_callbacks @248
  250 + lib3270_ring_bell @249
  251 + lib3270_run_task @250
  252 + lib3270_save @251
  253 + lib3270_save_all @252
  254 + lib3270_save_copy @253
  255 + lib3270_save_selected @254
  256 + lib3270_select_all @255
  257 + lib3270_select_field @256
  258 + lib3270_select_field_at @257
  259 + lib3270_select_region @258
  260 + lib3270_select_to @259
  261 + lib3270_select_word @260
  262 + lib3270_select_word_at @261
  263 + lib3270_selection_get_length @262
  264 + lib3270_selection_new @263
  265 + lib3270_send @264
  266 + lib3270_service_get_name @265
  267 + lib3270_session_free @266
  268 + lib3270_session_new @267
  269 + lib3270_set_as400 @268
  270 + lib3270_set_auto_reconnect @269
  271 + lib3270_set_boolean_property @270
  272 + lib3270_set_color_type @271
  273 + lib3270_set_connected_initial @272
  274 + lib3270_set_cursor_address @273
  275 + lib3270_set_cursor_position @274
  276 + lib3270_set_dft_buffersize @275
  277 + lib3270_set_disconnected @276
  278 + lib3270_set_field @277
  279 + lib3270_set_has_copy @278
  280 + lib3270_set_host_charset @279
  281 + lib3270_set_host_type @280
  282 + lib3270_set_host_type_by_name @281
  283 + lib3270_set_int_property @282
  284 + lib3270_set_lock_on_operator_error @283
  285 + lib3270_set_log_filename @284
  286 + lib3270_set_log_handler @285
  287 + lib3270_set_lunames @286
  288 + lib3270_set_model @287
  289 + lib3270_set_model_name @288
  290 + lib3270_set_model_number @289
  291 + lib3270_set_numeric_lock @290
  292 + lib3270_set_oversize @291
  293 + lib3270_set_poll_state @292
  294 + lib3270_set_popup_handler @293
  295 + lib3270_set_session_id @294
  296 + lib3270_set_string @295
  297 + lib3270_set_string_at @296
  298 + lib3270_set_string_at_address @297
  299 + lib3270_set_string_property @298
  300 + lib3270_set_syslog @299
  301 + lib3270_set_toggle @300
  302 + lib3270_set_trace_filename @301
  303 + lib3270_set_trace_handler @302
  304 + lib3270_set_tso @303
  305 + lib3270_set_uint_property @304
  306 + lib3270_set_unlock_delay @305
  307 + lib3270_set_url @306
  308 + lib3270_set_user_data @307
  309 + lib3270_setup_session @308
  310 + lib3270_ssl_get_crl_download @309
  311 + lib3270_ssl_set_crl_download @310
  312 + lib3270_state_get_name @311
  313 + lib3270_strdup @312
  314 + lib3270_strdup_printf @313
  315 + lib3270_strip @314
  316 + lib3270_sysreq @315
  317 + lib3270_testpattern @316
  318 + lib3270_toggle @317
  319 + lib3270_toggle_get_by_name @318
  320 + lib3270_toggle_get_description @319
  321 + lib3270_toggle_get_from_id @320
  322 + lib3270_toggle_get_label @321
  323 + lib3270_toggle_get_name @322
  324 + lib3270_toggle_get_summary @323
  325 + lib3270_trace_data @324
  326 + lib3270_trace_event @325
  327 + lib3270_translate_char @326
  328 + lib3270_translate_ft_message @327
  329 + lib3270_translate_to_address @328
  330 + lib3270_unregister_action_group_listener @329
  331 + lib3270_unregister_schange @330
  332 + lib3270_unregister_toggle_listener @331
  333 + lib3270_unselect @332
  334 + lib3270_unsigned_property_get_by_name @333
  335 + lib3270_update_poll_fd @334
  336 + lib3270_vsprintf @335
  337 + lib3270_wait @336
  338 + lib3270_wait_for_connected @337
  339 + lib3270_wait_for_cstate @338
  340 + lib3270_wait_for_keyboard_unlock @339
  341 + lib3270_wait_for_ready @340
  342 + lib3270_wait_for_string @341
  343 + lib3270_wait_for_string_at @342
  344 + lib3270_wait_for_string_at_address @343
  345 + lib3270_wait_for_update @344
  346 + lib3270_win32_create_regkey @345
  347 + lib3270_win32_get_dword @346
  348 + lib3270_win32_local_charset @347
  349 + lib3270_win32_set_string @348
  350 + lib3270_win32_strerror @349
  351 + lib3270_win32_translate_error_code @350
  352 + lib3270_write_dstrace @351
  353 + lib3270_write_event_trace @352
  354 + lib3270_write_log @353
  355 + lib3270_write_nettrace @354
  356 + lib3270_write_rc @355
  357 + lib3270_write_screen_trace @356
  358 + lib3270_write_trace @357
  359 + lib3270_write_va_log @358
win/msvc-build.sh
@@ -16,7 +16,28 @@ die ( ) { @@ -16,7 +16,28 @@ die ( ) {
16 exit -1 16 exit -1
17 } 17 }
18 18
19 -cd $(dirname $(dirname $(readlink -f ${0}))) 19 +srcdir="$(dirname $(dirname $(readlink -f "${0}")))"
  20 +cd ${srcdir}
  21 +if [ "$?" != "0" ]; then
  22 + echo "Cant cd to ${srcdir}"
  23 + exit -1
  24 +fi
  25 +
  26 +if [ -z ${PKG_CONFIG} ]; then
  27 + PKG_CONFIG=${MINGW_PREFX}/bin/pkg-config
  28 +fi
  29 +
  30 +PACKAGE_NAME=$(grep AC_INIT configure.ac | cut -d[ -f2 | cut -d] -f1)
  31 +if [ -z ${PACKAGE_NAME} ]; then
  32 + echo "Cant determine package name"
  33 + exit -1
  34 +fi
  35 +
  36 +PACKAGE_VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1)
  37 +if [ -z ${PACKAGE_VERSION} ]; then
  38 + echo "Cant determine package name"
  39 + exit -1
  40 +fi
20 41
21 # 42 #
22 # Build LIB3270 43 # Build LIB3270
@@ -26,15 +47,14 @@ echo &quot;Building lib3270&quot; @@ -26,15 +47,14 @@ echo &quot;Building lib3270&quot;
26 ./configure > $LOGFILE 2>&1 || die "Configure failure" 47 ./configure > $LOGFILE 2>&1 || die "Configure failure"
27 make clean > $LOGFILE 2>&1 || die "Make clean failure" 48 make clean > $LOGFILE 2>&1 || die "Make clean failure"
28 make all > $LOGFILE 2>&1 || die "Make failure" 49 make all > $LOGFILE 2>&1 || die "Make failure"
29 -make DESTDIR=.bin/package install > $LOGFILE 2>&1 || die "Install failure" 50 +make DESTDIR=.bin/package.msvc install > $LOGFILE 2>&1 || die "Install failure"
30 51
31 -cd .bin/package${MINGW_PREFIX} 52 +cd .bin/package.msvc
32 zip \ 53 zip \
33 -9 -r \ 54 -9 -r \
34 -x'*.a' \ 55 -x'*.a' \
35 -x'*.pc' \ 56 -x'*.pc' \
36 - ../../../${MINGW_PACKAGE_PREFIX}-lib3270-${MSYSTEM_CARCH}.zip * \ 57 + ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.devel.zip * \
37 > $LOGFILE 2>&1 || die "Zip failure" 58 > $LOGFILE 2>&1 || die "Zip failure"
38 -  
39 -  
40 59
  60 +
41 \ No newline at end of file 61 \ No newline at end of file