Commit f007470aee9bd8b7d0a275122cbaba4c6c5d860d
1 parent
ded9d88d
Exists in
master
and in
3 other branches
Adding "length" parameters in the "set" api calls.
Showing
2 changed files
with
15 additions
and
31 deletions
Show diff stats
src/core/paste.c
@@ -227,18 +227,8 @@ static int set_string(H3270 *hSession, const unsigned char *str, int length) | @@ -227,18 +227,8 @@ static int set_string(H3270 *hSession, const unsigned char *str, int length) | ||
227 | return data.qtd; | 227 | return data.qtd; |
228 | } | 228 | } |
229 | 229 | ||
230 | -/** | ||
231 | - * @brief Set string at defined position. | ||
232 | - * | ||
233 | - * @param hSession Session handle. | ||
234 | - * @param row Row for the first character. | ||
235 | - * @param col Col for the first character. | ||
236 | - * @param str String to set. | ||
237 | - * | ||
238 | - * @return negative if error (sets errno) or number of processed characters. | ||
239 | - * | ||
240 | - */ | ||
241 | -LIB3270_EXPORT int lib3270_set_string_at(H3270 *hSession, unsigned int row, unsigned int col, const unsigned char *str) | 230 | +/// @brief Set string at defined position. |
231 | +LIB3270_EXPORT int lib3270_set_string_at(H3270 *hSession, unsigned int row, unsigned int col, const unsigned char *str, int length) | ||
242 | { | 232 | { |
243 | int rc = 0; | 233 | int rc = 0; |
244 | 234 | ||
@@ -263,7 +253,7 @@ LIB3270_EXPORT int lib3270_set_string_at(H3270 *hSession, unsigned int row, unsi | @@ -263,7 +253,7 @@ LIB3270_EXPORT int lib3270_set_string_at(H3270 *hSession, unsigned int row, unsi | ||
263 | hSession->cbk.suspend(hSession); | 253 | hSession->cbk.suspend(hSession); |
264 | 254 | ||
265 | hSession->cursor_addr = (row * hSession->cols) + col; | 255 | hSession->cursor_addr = (row * hSession->cols) + col; |
266 | - rc += set_string(hSession, str, -1); | 256 | + rc += set_string(hSession, str, length); |
267 | 257 | ||
268 | hSession->cbk.resume(hSession); | 258 | hSession->cbk.resume(hSession); |
269 | } | 259 | } |
@@ -302,16 +292,8 @@ LIB3270_EXPORT int lib3270_set_string_at_address(H3270 *hSession, int baddr, con | @@ -302,16 +292,8 @@ LIB3270_EXPORT int lib3270_set_string_at_address(H3270 *hSession, int baddr, con | ||
302 | return rc; | 292 | return rc; |
303 | } | 293 | } |
304 | 294 | ||
305 | -/** | ||
306 | - * @brief Set string at cursor position. | ||
307 | - * | ||
308 | - * @param hSession Session handle. | ||
309 | - * @param str String to set | ||
310 | - * | ||
311 | - * @return negative if error (sets errno) or number of processed characters. | ||
312 | - * | ||
313 | - */ | ||
314 | -LIB3270_EXPORT int lib3270_set_string(H3270 *hSession, const unsigned char *str) | 295 | +/// @brief Set string at cursor position. |
296 | +LIB3270_EXPORT int lib3270_set_string(H3270 *hSession, const unsigned char *str, int length) | ||
315 | { | 297 | { |
316 | int rc; | 298 | int rc; |
317 | 299 | ||
@@ -325,7 +307,7 @@ LIB3270_EXPORT int lib3270_set_string(H3270 *hSession, const unsigned char *str) | @@ -325,7 +307,7 @@ LIB3270_EXPORT int lib3270_set_string(H3270 *hSession, const unsigned char *str) | ||
325 | return - (errno = EPERM); | 307 | return - (errno = EPERM); |
326 | 308 | ||
327 | hSession->cbk.suspend(hSession); | 309 | hSession->cbk.suspend(hSession); |
328 | - rc = set_string(hSession, str, -1); | 310 | + rc = set_string(hSession, str, length); |
329 | hSession->cbk.resume(hSession); | 311 | hSession->cbk.resume(hSession); |
330 | 312 | ||
331 | return rc; | 313 | return rc; |
@@ -349,7 +331,7 @@ LIB3270_EXPORT int lib3270_paste(H3270 *h, const unsigned char *str) | @@ -349,7 +331,7 @@ LIB3270_EXPORT int lib3270_paste(H3270 *h, const unsigned char *str) | ||
349 | h->paste_buffer = NULL; | 331 | h->paste_buffer = NULL; |
350 | } | 332 | } |
351 | 333 | ||
352 | - sz = lib3270_set_string(h,str); | 334 | + sz = lib3270_set_string(h,str,-1); |
353 | if(sz < 0) | 335 | if(sz < 0) |
354 | { | 336 | { |
355 | // Can´t paste | 337 | // Can´t paste |
src/include/lib3270.h
@@ -696,15 +696,16 @@ | @@ -696,15 +696,16 @@ | ||
696 | * Returns are ignored; newlines mean "move to beginning of next line"; | 696 | * Returns are ignored; newlines mean "move to beginning of next line"; |
697 | * tabs and formfeeds become spaces. Backslashes are not special | 697 | * tabs and formfeeds become spaces. Backslashes are not special |
698 | * | 698 | * |
699 | - * @param h Session handle. | ||
700 | - * @param s String to input. | 699 | + * @param hSession Session handle. |
700 | + * @param text String to input. | ||
701 | + * @param length Length of the string (-1 for auto-detect). | ||
701 | * | 702 | * |
702 | - * @return -1 if error (sets errno) or number of processed characters. | 703 | + * @return Negative if error (sets errno) or number of processed characters. |
703 | * | 704 | * |
704 | */ | 705 | */ |
705 | - LIB3270_EXPORT int lib3270_set_string(H3270 *h, const unsigned char *str); | 706 | + LIB3270_EXPORT int lib3270_set_string(H3270 *h, const unsigned char *text, int length); |
706 | 707 | ||
707 | - #define lib3270_set_text_at(h,r,c,t) lib3270_set_string_at(h,r,c,t) | 708 | + #define lib3270_set_text_at(h,r,c,t) lib3270_set_string_at(h,r,c,t,-1) |
708 | 709 | ||
709 | /** | 710 | /** |
710 | * @brief Set string at defined row/column. | 711 | * @brief Set string at defined row/column. |
@@ -713,11 +714,12 @@ | @@ -713,11 +714,12 @@ | ||
713 | * @param row Row for the first character. | 714 | * @param row Row for the first character. |
714 | * @param col Col for the first character. | 715 | * @param col Col for the first character. |
715 | * @param str String to set. | 716 | * @param str String to set. |
717 | + * @param length Length of the string (-1 for auto-detect). | ||
716 | * | 718 | * |
717 | * @return Negative if error or number of processed characters. | 719 | * @return Negative if error or number of processed characters. |
718 | * | 720 | * |
719 | */ | 721 | */ |
720 | - LIB3270_EXPORT int lib3270_set_string_at(H3270 *hSession, unsigned int row, unsigned int col, const unsigned char *str); | 722 | + LIB3270_EXPORT int lib3270_set_string_at(H3270 *hSession, unsigned int row, unsigned int col, const unsigned char *str, int length); |
721 | 723 | ||
722 | /** | 724 | /** |
723 | * @brief Set string at defined adress. | 725 | * @brief Set string at defined adress. |