* gettext-runtime/libasprintf/autosprintf.in.h (autosprintf::operator=): Add
comments. Rename parameter.
* gettext-runtime/libasprintf/autosprintf.cc (autosprintf::operator=): Likewise.
str = (src.str != NULL ? strdup (src.str) : NULL);
}
- /* Copy constructor. Necessary because the destructor is nontrivial. */
- autosprintf& autosprintf::operator = (autosprintf copy)
+ /* Assignment operator. Necessary because the destructor is nontrivial. */
+ autosprintf& autosprintf::operator = (autosprintf temporary)
{
- std::swap (copy.str, this->str);
+ /* Copy-and-swap idiom.
+ See http://stackoverflow.com/questions/3279543/what-is-the-copy-and-swap-idiom */
+ std::swap (temporary.str, this->str);
return *this;
}
_AUTOSPRINTF_ATTRIBUTE_FORMAT();
/* Copy constructor. */
autosprintf (const autosprintf& src);
- autosprintf& operator = (autosprintf copy);
+ /* Assignment operator. */
+ autosprintf& operator = (autosprintf temporary);
/* Destructor: frees the temporarily allocated string. */
~autosprintf ();
/* Conversion to string. */