Skip to content

Commit 6940488

Browse files
christopherlamjralls
authored andcommitted
recurrencePeriodTypeToString and recurrenceWeekendAdjustToString g_strdup only when necessary
... for sql use only. xml use assumes they return a const char*.
1 parent f67b53a commit 6940488

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

libgnucash/backend/sql/gnc-recurrence-sql.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -379,14 +379,13 @@ upgrade_recurrence_table_1_2 (GncSqlBackend* sql_be)
379379

380380
/* Step 2: insert a default value in the newly created column */
381381
{
382-
gchar* weekend_adj_str = recurrenceWeekendAdjustToString (WEEKEND_ADJ_NONE);
382+
const gchar* weekend_adj_str = recurrenceWeekendAdjustToString (WEEKEND_ADJ_NONE);
383383
std::stringstream sql;
384384
sql << "UPDATE " << TABLE_NAME << " SET " <<
385385
weekend_adjust_col_table[0]->name() << "='" <<
386386
weekend_adj_str << "'";
387387
auto stmt = sql_be->create_statement_from_sql(sql.str());
388388
sql_be->execute_nonselect_statement(stmt);
389-
g_free (weekend_adj_str);
390389
}
391390

392391
/* Step 3: rewrite the table, requiring the weekend_adj column to be non-null */

libgnucash/engine/Recurrence.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -518,10 +518,10 @@ recurrenceListToString(const GList *r)
518518
return g_string_free(str, FALSE);
519519
}
520520

521-
gchar *
521+
const gchar *
522522
recurrencePeriodTypeToString(PeriodType pt)
523523
{
524-
return VALID_PERIOD_TYPE(pt) ? g_strdup(period_type_strings[pt]) : NULL;
524+
return VALID_PERIOD_TYPE(pt) ? period_type_strings[pt] : NULL;
525525
}
526526

527527
PeriodType
@@ -535,10 +535,10 @@ recurrencePeriodTypeFromString(const gchar *str)
535535
return -1;
536536
}
537537

538-
gchar *
538+
const gchar *
539539
recurrenceWeekendAdjustToString(WeekendAdjust wadj)
540540
{
541-
return VALID_WEEKEND_ADJ(wadj) ? g_strdup(weekend_adj_strings[wadj]) : NULL;
541+
return VALID_WEEKEND_ADJ(wadj) ? weekend_adj_strings[wadj] : NULL;
542542
}
543543

544544
WeekendAdjust

libgnucash/engine/Recurrence.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ void recurrenceListNextInstance(const GList *r, const GDate *refDate,
155155
GDate *nextDate);
156156

157157
/* These four functions are only for xml storage, not user presentation. */
158-
gchar *recurrencePeriodTypeToString(PeriodType pt);
158+
const gchar *recurrencePeriodTypeToString(PeriodType pt);
159159
PeriodType recurrencePeriodTypeFromString(const gchar *str);
160-
gchar *recurrenceWeekendAdjustToString(WeekendAdjust wadj);
160+
const gchar *recurrenceWeekendAdjustToString(WeekendAdjust wadj);
161161
WeekendAdjust recurrenceWeekendAdjustFromString(const gchar *str);
162162

163163
/* For debugging. Caller owns the returned string. Not intl. */

0 commit comments

Comments
 (0)