talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

displayheader.c (1366B)


      1 /*
      2  * Claws Mail -- a GTK based, lightweight, and fast e-mail client
      3  * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team
      4  *
      5  * This program is free software; you can redistribute it and/or modify
      6  * it under the terms of the GNU General Public License as published by
      7  * the Free Software Foundation; either version 3 of the License, or
      8  * (at your option) any later version.
      9  *
     10  * This program is distributed in the hope that it will be useful,
     11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13  * GNU General Public License for more details.
     14  *
     15  * You should have received a copy of the GNU General Public License
     16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
     17  *
     18  */
     19 
     20 #include <glib.h>
     21 
     22 #include "displayheader.h"
     23 
     24 gchar *display_header_prop_get_str(DisplayHeaderProp *dp)
     25 {
     26 	return g_strconcat(dp->hidden ? "-" : "", dp->name, NULL);
     27 }
     28 
     29 DisplayHeaderProp *display_header_prop_read_str(gchar *buf)
     30 {
     31 	DisplayHeaderProp *dp;
     32 
     33 	dp = g_new0(DisplayHeaderProp, 1);
     34 
     35 	dp->hidden = FALSE;
     36 	if (*buf == '-') {
     37 		dp->hidden = TRUE;
     38 		buf++;
     39 	}
     40 	if (*buf == '\0') {
     41 		g_free(dp);
     42 		return NULL;
     43 	}
     44 	dp->name = g_strdup(buf);
     45 
     46 	return dp;
     47 }
     48 
     49 void display_header_prop_free(DisplayHeaderProp *dp)
     50 {
     51 	if (!dp) return;
     52 
     53 	g_free(dp->name);
     54 	g_free(dp);
     55 }