comparison src/util.c @ 13356:554575d1f9b5

[gaim-migrate @ 15729] Move gaim_str_sub_away_formatters into the oscar PRPL. It wasn't used anywhere else. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 01 Mar 2006 05:13:26 +0000
parents b04212d6b115
children 85b2ba4aa606
comparison
equal deleted inserted replaced
13355:d278dac585a5 13356:554575d1f9b5
2670 2670
2671 return buf; 2671 return buf;
2672 } 2672 }
2673 2673
2674 gchar * 2674 gchar *
2675 gaim_str_sub_away_formatters(const char *str, const char *name)
2676 {
2677 char *c;
2678 GString *cpy;
2679 time_t t;
2680 struct tm *tme;
2681
2682 g_return_val_if_fail(str != NULL, NULL);
2683 g_return_val_if_fail(name != NULL, NULL);
2684
2685 /* Create an empty GString that is hopefully big enough for most messages */
2686 cpy = g_string_sized_new(1024);
2687
2688 t = time(NULL);
2689 tme = localtime(&t);
2690
2691 c = (char *)str;
2692 while (*c) {
2693 switch (*c) {
2694 case '%':
2695 if (*(c + 1)) {
2696 switch (*(c + 1)) {
2697 case 'n':
2698 /* append name */
2699 g_string_append(cpy, name);
2700 c++;
2701 break;
2702 case 'd':
2703 /* append date */
2704 g_string_append(cpy, gaim_date_format_short(tme));
2705 c++;
2706 break;
2707 case 't':
2708 /* append time */
2709 g_string_append(cpy, gaim_time_format(tme));
2710 c++;
2711 break;
2712 default:
2713 g_string_append_c(cpy, *c);
2714 }
2715 } else {
2716 g_string_append_c(cpy, *c);
2717 }
2718 break;
2719 default:
2720 g_string_append_c(cpy, *c);
2721 }
2722 c++;
2723 }
2724
2725 return g_string_free(cpy, FALSE);
2726 }
2727
2728 gchar *
2729 gaim_strdup_withhtml(const gchar *src) 2675 gaim_strdup_withhtml(const gchar *src)
2730 { 2676 {
2731 gulong destsize, i, j; 2677 gulong destsize, i, j;
2732 gchar *dest; 2678 gchar *dest;
2733 2679