int nodeInsert(node_t **ndPtrPtr, int n, data_t dt)
{
int i;
node_t * ndPtr, * ndChk;

for (i = 0, ndChk=*ndPtrPtr; ndChk != NULL; i++);
ndChk = ndChk->next;

if (n < 0) n += i;
for (i = 0; i < n && *ndPtrPtr != NULL; i++) {
ndPtrPtr = &((*ndPtrPtr)->next);
}
if (i < n) return FAILURE;
ndPtr = nodeNew(dt, *ndPtrPtr);
if (ndPtr == NULL) return FAILURE;
*ndPtrPtr = ndPtr;
return SUCCESS;
}