Everything works fine. My problem is I don't understand what
%str(%addr(d_name)) is doing and why it is needed.
Walking through the program in debug, I noticed that d_name has a value. I
changed the code to the "easier on the eyes" version which is simply taking
a 256 char field and truncating it in a 120 char field.