culmer@eniac.seas.upenn.edu (Charles Culmer) (02/12/89)
I can't get gpr_$text to print character strings that were allocated
with sys5 malloc. For example, if I read "Charles" into a statically
allocated buffer, allocate space with malloc, copy the input buffer
into the new string, and then try to print the text with gpr_$text,
I get output that looks like--
space up-arrow space C h a r
I'm doing this on a 3000 with version 9.7 sys5.
I'm pretty sure the problem isn't a mistake or my ignorance of C and
gpr. The same programs work fine if I use printf to print the strings.
Moreover, if I statically allocate another text buffer and copy from
the dynamically allocated buffer into the statically allocated buffer,
gpr_$text prints the string from that buffer just fine.
Thanks.
Charles W. Culmer
culmer@eniac.seas.upenn.edu Truth, justice, and the American way.lnz@LUCID.COM (Leonard N. Zubkoff) (02/13/89)
Have you remembered to deal with the fact that GPR_$Text requires its string argument to be passed by reference? If you have a char *Foo variable rather than an array, you must call GPR_$Text as: gpr_$text(*Foo,...).