Juliano Ravasi Ferraz writes:
> > If your libc has it, try strdupa() rather then strdup... it's automatically
> > free()'d when your function returns, and is cheaper (cpu-wise) then malloc
> > (which strdup() uses).
> >
> > It's fairly common now, at least in unix. (most muds are running on
> > freebie/linux systems, and they both have it.)
>
> What is your version of libc? I have GNU libc 2.1.1 and it does not have
> this func.
Hmm... alloca is common, but looks like strdupa is an extension.
you have to #define _GNU_SOURCE to use strdupa (before any #include directives)
It's the equiv of
new=alloca(strlen(old));
memcpy(new, old, strlen(old));
--Dan
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT