--- Mike Rylander <[EMAIL PROTECTED]> wrote: > The macro, as created, differs from the suggested in that it does not > create temp vars for s and n. The compiler was not at all happy > about > the void casting for some reason, so I just act on the buffer (s) > passed.
Sorry, that was my mistake. In my original proposal, temp_s should have been declared as char *, not void *. The memset works with a void *, but the indexing on the next line doesn't -- you can't dereference a void pointer. I tested the revised version with a little Hello World program. With the char * instead of a void * on the temporary, it compiled and ran just fine. That'll teach me not to post untested code. (Well, actually, it probably won't.) It's worth a little extra trouble to make the macro safer. Scott McKellar
