Commit b8d9f54c535115c82ba31a4b147bb3f2744f5174
1 parent
5b3ad06f
Exists in
master
and in
3 other branches
Ativando opção para salvamento do buffer do terminal em um arquivo texto
Showing
1 changed file
with
16 additions
and
3 deletions
Show diff stats
selection.c
... | ... | @@ -313,13 +313,13 @@ LIB3270_ACTION( reselect ) |
313 | 313 | return 0; |
314 | 314 | } |
315 | 315 | |
316 | -LIB3270_EXPORT char * lib3270_get_selected(H3270 *hSession) | |
316 | +static char * get_text(H3270 *hSession,unsigned char all) | |
317 | 317 | { |
318 | 318 | int row, col, baddr; |
319 | 319 | char *ret; |
320 | 320 | size_t sz = 0; |
321 | 321 | |
322 | - if(!hSession->selected || hSession->select.begin == hSession->select.end) | |
322 | + if(!lib3270_connected(hSession)) | |
323 | 323 | return NULL; |
324 | 324 | |
325 | 325 | ret = malloc(hSession->rows * (hSession->cols+1)); |
... | ... | @@ -331,7 +331,7 @@ LIB3270_EXPORT char * lib3270_get_selected(H3270 *hSession) |
331 | 331 | |
332 | 332 | for(col = 0; col < hSession->cols;col++) |
333 | 333 | { |
334 | - if(hSession->text[baddr].attr & LIB3270_ATTR_SELECTED) | |
334 | + if(all || hSession->text[baddr].attr & LIB3270_ATTR_SELECTED) | |
335 | 335 | { |
336 | 336 | cr++; |
337 | 337 | ret[sz++] = hSession->text[baddr].chr; |
... | ... | @@ -347,6 +347,19 @@ LIB3270_EXPORT char * lib3270_get_selected(H3270 *hSession) |
347 | 347 | return realloc(ret,sz+1); |
348 | 348 | } |
349 | 349 | |
350 | +LIB3270_EXPORT char * lib3270_get_text(H3270 *hSession) | |
351 | +{ | |
352 | + return get_text(hSession,1); | |
353 | +} | |
354 | + | |
355 | +LIB3270_EXPORT char * lib3270_get_selected(H3270 *hSession) | |
356 | +{ | |
357 | + if(!hSession->selected || hSession->select.begin == hSession->select.end) | |
358 | + return NULL; | |
359 | + | |
360 | + return get_text(hSession,0); | |
361 | +} | |
362 | + | |
350 | 363 | LIB3270_EXPORT int lib3270_move_selection(H3270 *hSession, LIB3270_DIRECTION dir) |
351 | 364 | { |
352 | 365 | if(!hSession->selected || hSession->select.begin == hSession->select.end) | ... | ... |