gtpc2mf0 | C/C++ Language Support User's Guide |
This function returns the element currently pointed to by the cursor. If the cursor is pointing one position beyond the last element of the collection, a TO2_ERROR_EODAD error code will be returned.
Format
#include <c$to2.h> TO2_BUF_PTR TO2_atCursor (const TO2_PID_PTR cursorPidPtr, TO2_ENV_PTR env_ptr);
Normal Return
The normal return is a pointer (TO2_BUF_PTR) to a structure (buffer) of type TO2_BUF_HDR (see Type Definitions).
Error Return
An error return is indicated by NULL. When NULL is returned, use the TO2_getErrorCode function to determine the specific error code. For more information, see Error Handling.
The following error codes are common for this function:
TO2_ERROR_CURSOR
TO2_ERROR_EMPTY
TO2_ERROR_ENV
TO2_ERROR_EODAD
TO2_ERROR_METHOD
TO2_ERROR_PID
TO2_ERROR_ZERO_PID
Programming Considerations
Examples
The following example reads the item to which the cursor is currently pointing.
#include <c$to2.h> /* Needed for TO2 API Functions */ #include <stdio.h> /* APIs for standard I/O functions */ struct person_record { char name[20]; char address[60]; }; typedef struct person_record PERSON_RECORD; TO2_PID cursor; /* PID of the cursor */ TO2_ENV_PTR env_ptr; /* Pointer to TO2 environment */ TO2_BUF_PTR buffer_ptr; /* Pointer to element buffer */ PERSON_RECORD *person_ptr; /* Pointer to element data */ TO2_ERR_CODE err_code; /* TO2 error code value */
·
·
·
/**********************************************************************/ /* Read the item that the cursor is currently pointing to. */ /**********************************************************************/ if ((buffer_ptr = TO2_atCursor(&cursor, env_ptr)) == NULL) { err_code = TO2_getErrorCode(env_ptr); if (err_code != TO2_ERROR_EODAD) { printf("TO2_atCursor failed!\n"); process_error(env_ptr); } else printf("Cursor is at the end of the collection!\n"); return(0); } else { person_ptr = (PERSON_RECORD *) buffer_ptr->data; printf("TO2_atCursor successful!\n"); }
·
·
·
free(buffer_ptr);
Related Information