Nice! Thanks for the detailed explanation, Russ. Fortunately, I didn't have to worry about going very deep. As soon as Presotto noticed that the problem was a *user* overflow, I went back through my code. Sure enough, the problem was that I was moving a block of memory, but based on the strlen(), not the strlen() plus the terminating null. My logic fumbled somewhere through the recursion. On the bright side, my preprocessor is finished *yay*. Thanks for the help, as always, guys. Don (north_)