Avoids poking around in the internals, and also makes the code easier to read.
This work is done by Nikita Krupenko which sent a patch to rdesktop in 2010 for version 1.6.0. I have now ported it over to trunk and it seems to work as expected.