Bus error with illicit string
Brought to you by:
bdesgraupes
The following command
suf -f 4:3 -l 2 ...3..4..64.3..34.165....15...5.1234...3..4..64.3..34.165....15...5.1234...3..4..64.3..34.165....15...5.1234...3..4..64.3..34.165....15...5.1234
causes a bus error.
The given string is illicit (multiple values in blocks, rows or columns).
See why the algorithm does not detect this situation.
This happens in subroutine suf_deleteLinkedLists when a column of the cover matrix has only 0's.
Now checking that pointer cl => ch%d is associated.
Closing now.
The root of the problem was in the fact that some column headers did not have their %d and %u members properly allocated: this occurs when a column of the cover matrix has only 0's (which by the way means that the problem can't be solved). Fixed this in suf_createLinkedLists:
nh%d => nh
nh%u => nh