[Main]
Name=memmove
Type=Function
Subtype=ROM Call
Header Files=mem.h, string.h
Definition=void *memmove (void *dest, const void *src, unsigned long len);

[ROM Call]
Index=$26B

[Description]
Copies a block of <I>len</I> bytes from <I>src</I> to <I>dest</I>, with possibility
of overlaping of source and destination block.

[Explanation]
memmove copies a block of <I>len</I> bytes from <I>src</I> to <I>dest</I>.
Even when the source and destination blocks overlap, bytes in the overlapping
locations are copied
correctly (in opposite to <A HREF="$$LINK(mem.h/memcpy)">memcpy</A>). memmove returns <I>dest</I>.

[References]
In=alloc.h/HeapCompress, alloc.h/HeapGetHandle, alloc.h/HeapMoveHigh, alloc.h/HeapRealloc, alloc.h/HeapShuffle, bascmd.h/cmd_blddata, basfunc.h/did_push_anti_deriv, basfunc.h/push_1st_derivative, basfunc.h/push_csolve, basfunc.h/push_czeros, basfunc.h/push_def_int, basfunc.h/push_desolve, basfunc.h/push_lim, basfunc.h/push_max, basfunc.h/push_min, basfunc.h/push_nsolve, basfunc.h/push_solve, basfunc.h/push_string, basfunc.h/push_zeros, basop.h/push_equals, basop.h/push_greater_than, basop.h/push_greater_than_or_equals, basop.h/push_less_than, basop.h/push_less_than_or_equals, basop.h/push_not_equals, dialogs.h/DialogAdd, estack.h/delete_between, gdraw.h/GR3_paint3d, graph.h/ScrRectShift, menus.h/DynMenuAdd, menus.h/DynMenuChange, system.h/AB_serno, textedit.h/TE_handleEvent, textedit.h/TE_pasteText, unknown.h/convert_to_TI_92, unknown.h/delete_list_element, unknown.h/get_ub, unknown.h/OO_SetAttr, unknown.h/spike_geo_titles, unknown.h/spike_in_editor, unknown.h/spike_optionD, unknown.h/UpdateWindows, vat.h/AddSymToFolder, vat.h/FolderAdd, vat.h/FolderDel, vat.h/FolderRename, vat.h/HSymDel, vat.h/SymAddTwin, vat.h/SymDel, vat.h/SymDelTwin, vat.h/VarStore, unknown.h/_ROM_CALL_439
