Commit ef87acc7050fde81140bdc1742d9f60514b5f01c

Authored by perry.werneck@gmail.com
1 parent 842267b7

Implementando plugin dbus, adicionando funcoes para obter e testar conteudo da t…

…ela pela posição em linha/coluna, incluindo projeto codeblocks do sample no pacote devel
Showing 1 changed file with 30 additions and 0 deletions   Show diff stats
@@ -465,6 +465,8 @@ LIB3270_EXPORT char * lib3270_get_text(H3270 *h, int offset, int len) @@ -465,6 +465,8 @@ LIB3270_EXPORT char * lib3270_get_text(H3270 *h, int offset, int len)
465 return NULL; 465 return NULL;
466 466
467 maxlen = (h->rows * (h->cols+1)) - offset; 467 maxlen = (h->rows * (h->cols+1)) - offset;
  468 + if(maxlen <= 0)
  469 + return NULL;
468 470
469 if(len < 0 || len > maxlen) 471 if(len < 0 || len > maxlen)
470 len = maxlen; 472 len = maxlen;
@@ -500,6 +502,34 @@ LIB3270_EXPORT char * lib3270_get_text(H3270 *h, int offset, int len) @@ -500,6 +502,34 @@ LIB3270_EXPORT char * lib3270_get_text(H3270 *h, int offset, int len)
500 return buffer; 502 return buffer;
501 } 503 }
502 504
  505 +LIB3270_EXPORT char * lib3270_get_text_at(H3270 *h, int row, int col, int len)
  506 +{
  507 + CHECK_SESSION_HANDLE(h);
  508 +
  509 + if(!lib3270_connected(h))
  510 + return NULL;
  511 +
  512 + return lib3270_get_text(h, ((row) * h->cols) + col, len);
  513 +}
  514 +
  515 +LIB3270_EXPORT int lib3270_cmp_text_at(H3270 *h, int row, int col, const char *text)
  516 +{
  517 + int rc;
  518 + size_t sz = strlen(text);
  519 + char * contents;
  520 +
  521 + contents = lib3270_get_text_at(h,row,col,sz);
  522 + if(!contents)
  523 + return -1;
  524 +
  525 + rc = strncmp(contents,text,sz);
  526 +
  527 + lib3270_free(contents);
  528 +
  529 + return rc;
  530 +}
  531 +
  532 +
503 /** 533 /**
504 * Get field contents 534 * Get field contents
505 * 535 *