psppire-dict: Return new var from psppire_dict_insert_variable(). 20120417030503/pspp
authorBen Pfaff <blp@cs.stanford.edu>
Wed, 21 Mar 2012 04:29:54 +0000 (21:29 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 17 Apr 2012 02:22:16 +0000 (19:22 -0700)
An upcoming commit will introduce a user for the return value.

src/ui/gui/psppire-dict.c
src/ui/gui/psppire-dict.h

index 1e8beac5e3f1f1023ebb7d13f763596554915dd3..04bd3e319ce82052c6a857375e0828f0ae6ccc5f 100644 (file)
@@ -379,23 +379,24 @@ psppire_dict_generate_name (const PsppireDict *dict, char *name, size_t size)
   return name;
 }
 
-/* Insert a new variable at posn IDX, with the name NAME.
+/* Insert a new variable at posn IDX, with the name NAME, and return the
+   new variable.
    If NAME is null, then a name will be automatically assigned.
 */
-void
+struct variable *
 psppire_dict_insert_variable (PsppireDict *d, gint idx, const gchar *name)
 {
-  struct variable *var ;
+  struct variable *var;
   char tmpname[64];
 
-  g_return_if_fail (idx >= 0);
-  g_return_if_fail (d);
-  g_return_if_fail (PSPPIRE_IS_DICT (d));
+  g_return_val_if_fail (idx >= 0, NULL);
+  g_return_val_if_fail (d, NULL);
+  g_return_val_if_fail (PSPPIRE_IS_DICT (d), NULL);
 
-  if ( ! name )
+  if (name == NULL)
     {
       if (!psppire_dict_generate_name (d, tmpname, sizeof tmpname))
-        g_return_if_reached ();
+        g_return_val_if_reached (NULL);
 
       name = tmpname;
     }
@@ -409,6 +410,8 @@ psppire_dict_insert_variable (PsppireDict *d, gint idx, const gchar *name)
   d->disable_insert_signal = FALSE;
 
   g_signal_emit (d, signals[VARIABLE_INSERTED], 0, idx);
+
+  return var;
 }
 
 /* Delete N variables beginning at FIRST */
index 53b09f41a74d39a0165acfa77f83285a5499e248..4deabcaf8f07a05408819d65901364f4c2bf2ceb 100644 (file)
@@ -90,7 +90,8 @@ struct variable * psppire_dict_get_variable (const PsppireDict *d, gint idx);
 void psppire_dict_delete_variables (PsppireDict *d, gint first, gint n);
 
 /* Insert a new variable at posn IDX */
-void psppire_dict_insert_variable (PsppireDict *d, gint idx, const gchar *name);
+struct variable *psppire_dict_insert_variable (PsppireDict *d, gint idx,
+                                               const gchar *name);
 
 void psppire_dict_resize_variable (PsppireDict *,
                                  const struct variable *,