FUNCTION POINTER_VALID, POINTER ;+ ; NAME: ; POINTER_VALID ; ; PURPOSE: ; Test if the supplied argument is a valid pointer. ; ; This routine uses pointers if run under IDL5 or higher, ; and handles if run under IDL4. ; ; CATEGORY: ; Pointers ; ; CALLING SEQUENCE: ; RESULT = POINTER_VALID(POINTER) ; ; INPUTS: ; POINTER Pointer variable ; ; OPTIONAL INPUTS: ; None. ; ; INPUT KEYWORD PARAMETERS: ; None. ; ; OUTPUT KEYWORD PARAMETERS: ; None. ; ; OUTPUTS: ; RESULT Boolean flag indicating validity of POINTER ; 0 => Invalid ; 1 => Valid ; ; OPTIONAL OUTPUTS: ; None. ; ; COMMON BLOCKS: ; None. ; ; SIDE EFFECTS: ; None. ; ; RESTRICTIONS: ; POINTER must be a defined variable. ; ; See also POINTER_CREATE, POINTER_FREE, POINTER_VALUE. ; ; EXAMPLE: ; ; ;Create and test a pointer ; ; pointer_create, ptr ; help, pointer_valid(ptr) ; ; MODIFICATION HISTORY: ; http://cimss.ssec.wisc.edu/~gumley ; $Id: pointer_valid.pro,v 1.3 1999/06/15 15:15:32 gumley Exp $ ;- rcs_id = '$Id: pointer_valid.pro,v 1.3 1999/06/15 15:15:32 gumley Exp $' ;- Check arguments if n_params() ne 1 then message, 'Usage: RESULT = POINTER_VALID(POINTER)' if n_elements(pointer) eq 0 then message, 'Argument POINTER is undefined' if n_elements(pointer) gt 1 then message, 'Argument POINTER must be a scalar' ;- Return pointer validity flag version = long(!version.release) case 1 of version ge 5 : return, call_function('ptr_valid', pointer(0)) else : return, call_function('handle_info', pointer(0)) endcase END