У меня есть две одинаковые операции:
insert_bytes(from, count)
delete_bytes(start, stop) -> delete_bytes(from, count)
Пример реализации insert_bytes:
unsigned char* new_bytes = (unsigned char*)malloc((old_length+count)*sizeof(unsigned char));
memcpy(new_bytes, old_bytes, from); // negative value can't go to from here
memcpy(new_bytes+count, old_bytes+from, old_length-from);
return new_bytes+from; // pointer to write
существует ли какой-либо безопасный способ реализовать delete_bytes как вызов insert_bytes (с отрицательным смещением) без записи 5-6 строк проверки положительного / отрицательного значения?