comparison src/util.c @ 5341:ccec8893c1be

[gaim-migrate @ 5717] This fixes a memleak from my change last night. Thanks to Matt Pandina for pointing out that I'm dumb :-) Also, I made sec_to_text use g_strdup_printf instead of g_snprintf with a fixed sized buffer. Down with fixed size buffers everywhere! Ra ra ree! committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Fri, 09 May 2003 14:39:06 +0000
parents 6dfcd7dbecde
children 8d8bf0d31a23
comparison
equal deleted inserted replaced
5340:986b2e4dae2d 5341:ccec8893c1be
91 91
92 92
93 gchar *sec_to_text(guint sec) 93 gchar *sec_to_text(guint sec)
94 { 94 {
95 guint daze, hrs, min; 95 guint daze, hrs, min;
96 char *ret = g_malloc(256); 96 char *ret = NULL;
97 97
98 daze = sec / (60 * 60 * 24); 98 daze = sec / (60 * 60 * 24);
99 hrs = (sec % (60 * 60 * 24)) / (60 * 60); 99 hrs = (sec % (60 * 60 * 24)) / (60 * 60);
100 min = (sec % (60 * 60)) / 60; 100 min = (sec % (60 * 60)) / 60;
101 sec = min % 60; 101 sec = min % 60;
102 102
103 if (daze) { 103 if (daze) {
104 if (hrs || min) { 104 if (hrs || min) {
105 if (hrs) { 105 if (hrs) {
106 if (min) { 106 if (min) {
107 g_snprintf(ret, 256, 107 ret = g_strdup_printf(
108 "%d %s, %d %s, %d %s.", 108 "%d %s, %d %s, %d %s.",
109 daze, ngettext("day","days",daze), 109 daze, ngettext("day","days",daze),
110 hrs, ngettext("hour","hours",hrs), min, ngettext("minute","minutes",min)); 110 hrs, ngettext("hour","hours",hrs), min, ngettext("minute","minutes",min));
111 } else { 111 } else {
112 g_snprintf(ret, 256, 112 ret = g_strdup_printf(
113 "%d %s, %d %s.", 113 "%d %s, %d %s.",
114 daze, ngettext("day","days",daze), hrs, ngettext("hour","hours",hrs)); 114 daze, ngettext("day","days",daze), hrs, ngettext("hour","hours",hrs));
115 } 115 }
116 } else { 116 } else {
117 g_snprintf(ret, 256, 117 ret = g_strdup_printf(
118 "%d %s, %d %s.", 118 "%d %s, %d %s.",
119 daze, ngettext("day","days",daze), min, ngettext("minute","minutes",min)); 119 daze, ngettext("day","days",daze), min, ngettext("minute","minutes",min));
120 } 120 }
121 } else 121 } else
122 g_snprintf(ret, 256, "%d %s.", daze, ngettext("day","days",daze)); 122 ret = g_strdup_printf("%d %s.", daze, ngettext("day","days",daze));
123 } else { 123 } else {
124 if (hrs) { 124 if (hrs) {
125 if (min) { 125 if (min) {
126 g_snprintf(ret, 256, 126 ret = g_strdup_printf(
127 "%d %s, %d %s.", 127 "%d %s, %d %s.",
128 hrs, ngettext("hour","hours",hrs), min, ngettext("minute","minutes",min)); 128 hrs, ngettext("hour","hours",hrs), min, ngettext("minute","minutes",min));
129 } else { 129 } else {
130 g_snprintf(ret, 256, "%d %s.", hrs, ngettext("hour","hours",hrs)); 130 ret = g_strdup_printf("%d %s.", hrs, ngettext("hour","hours",hrs));
131 } 131 }
132 } else { 132 } else {
133 g_snprintf(ret, 256, "%d %s.", min, ngettext("minute","minutes",min)); 133 ret = g_strdup_printf("%d %s.", min, ngettext("minute","minutes",min));
134 } 134 }
135 } 135 }
136 136
137 return ret; 137 return ret;
138 } 138 }