I'm not sure what you mean. Can you provide an example? If you want to echo multiple lines, just call the do_echo function multiple times in the same function, one after another. For example...
I know this is a cheesy way around it, but you could make a new command like do_decho and make it have howevery many arguments you want it to have. EG:
send_to_char( arg1 )
send_to_char (arg2)
so on and so on...so it'd be like...
decho "whatever" "whatever2" and it would show up like
Don't forget to free the string and all that appropriately, else you'll be leaking little droplets of memory every time you use the function.
Or, if the lines are simple enough, you could just be using \n markers in the string and parse out "\n" to be an actual newline character.
e.g.
multiecho Hello there!\nThis is on a new line.\nAnd this is on the third line.
would print -->
Hello there!
This is one a new line.
And this is on the third line.
It's a pretty straightforward parsing algorithm to go through and replace literal "\n" with a newline. It's only slightly more complex if you want to be able to have literal \n in your output, in which case you would use an escape system e.g. "\\n" translations to "\n", not a newline.