/*====================================================================* * * signed memincr (void * memory, size_t extent); * * memory.h * * increment a multi-byte memory region; start at 0x00 and reset * at 0xFF; return -1 if all bytes are 0xFF; * * for example, * * 0x00 0x00 0x00 --> 0x00 0x00 0x01 * 0xFF 0x00 0xFF --> 0xFF 0x01 0x00 * * Motley Tools by Charles Maier; * Copyright (c) 2001-2006 by Charles Maier Associates; * Licensed under the Internet Software Consortium License; * *--------------------------------------------------------------------*/ #ifndef MEMINCR_SOURCE #define MEMINCR_SOURCE #include "../tools/memory.h" signed memincr (void * memory, register size_t extent) { register byte * offset = (byte *)(memory); while (extent--) { if (++ offset [extent] != 0x00) { return (0); } } return (-1); } #endif