Commit 14285d7548615626e5c5ffd5a39e264bcb302cee
1 parent
288c67b4
Exists in
master
and in
3 other branches
Incluindo conversão ebcdic<->asc no módulo rexx
Showing
1 changed file
with
31 additions
and
0 deletions
Show diff stats
charset.c
| @@ -402,6 +402,37 @@ LIB3270_ACTION( charsettable ) | @@ -402,6 +402,37 @@ LIB3270_ACTION( charsettable ) | ||
| 402 | return 0; | 402 | return 0; |
| 403 | } | 403 | } |
| 404 | 404 | ||
| 405 | +LIB3270_EXPORT const char * lib3270_asc2ebc(H3270 *hSession, unsigned char *buffer, size_t sz) | ||
| 406 | +{ | ||
| 407 | + int f; | ||
| 408 | + if(sz < 0) | ||
| 409 | + sz = strlen((const char *) buffer); | ||
| 410 | + | ||
| 411 | + if(sz > 0) | ||
| 412 | + { | ||
| 413 | + for(f=0;f<sz;f++) | ||
| 414 | + buffer[f] = hSession->charset.asc2ebc[buffer[f]]; | ||
| 415 | + } | ||
| 416 | + | ||
| 417 | + return (const char *) buffer; | ||
| 418 | +} | ||
| 419 | + | ||
| 420 | +LIB3270_EXPORT const char * lib3270_ebc2asc(H3270 *hSession, unsigned char *buffer, size_t sz) | ||
| 421 | +{ | ||
| 422 | + int f; | ||
| 423 | + if(sz < 0) | ||
| 424 | + sz = strlen((const char *) buffer); | ||
| 425 | + | ||
| 426 | + if(sz > 0) | ||
| 427 | + { | ||
| 428 | + for(f=0;f<sz;f++) | ||
| 429 | + buffer[f] = hSession->charset.ebc2asc[buffer[f]]; | ||
| 430 | + } | ||
| 431 | + | ||
| 432 | + return (const char *) buffer; | ||
| 433 | +} | ||
| 434 | + | ||
| 435 | + | ||
| 405 | // Process a single character definition. | 436 | // Process a single character definition. |
| 406 | LIB3270_EXPORT void lib3270_remap(H3270 *hSession, unsigned short ebc, unsigned short iso, lib3270_remap_scope scope, unsigned char one_way) | 437 | LIB3270_EXPORT void lib3270_remap(H3270 *hSession, unsigned short ebc, unsigned short iso, lib3270_remap_scope scope, unsigned char one_way) |
| 407 | { | 438 | { |