/* Since: 2.10 Returns: the #GParamSpec that was passed into this function  */
GParamSpec* g_param_spec_ref_sink(GParamSpec *pspec)
/* Since: 2.10 Returns: the #GParamSpec that was passed into this function  */
GParamSpec* g_param_spec_ref_sink(GParamSpec *pspec)
{
  gsize oldvalue;
  g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), NULL);
  oldvalue = g_atomic_pointer_and (&pspec->qdata, ~(gsize)PARAM_FLOATING_FLAG);
  if (!(oldvalue & PARAM_FLOATING_FLAG))
    g_param_spec_ref (pspec);
  return pspec;
}