Mercurial > pidgin
comparison src/util.c @ 592:7c75d69a1129
[gaim-migrate @ 602]
this really cool guy sent a patch to convert %n, %d and %t to things in
away messages. i just wish i could remember his name.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Thu, 03 Aug 2000 05:35:13 +0000 |
| parents | 4bf9c74b9e4d |
| children | 9b0717b4a490 |
comparison
equal
deleted
inserted
replaced
| 591:a26eb4c472d8 | 592:7c75d69a1129 |
|---|---|
| 835 } | 835 } |
| 836 gtk_text_set_point(GTK_TEXT(text), point); | 836 gtk_text_set_point(GTK_TEXT(text), point); |
| 837 | 837 |
| 838 } | 838 } |
| 839 | 839 |
| 840 /* Look for %n, %d, or %t in msg, and replace with the sender's name, date, | |
| 841 or time */ | |
| 842 char *away_subs(char *msg, char *name) | |
| 843 { | |
| 844 char *c; | |
| 845 static char cpy[BUF_LONG]; | |
| 846 int cnt=0; | |
| 847 time_t t = time(0); | |
| 848 struct tm *tme = localtime(&t); | |
| 849 char tmp[20]; | |
| 850 | |
| 851 cpy[0] = '\0'; | |
| 852 c = msg; | |
| 853 while(*c) { | |
| 854 switch(*c) { | |
| 855 case '%': | |
| 856 if (*(c+1)) { | |
| 857 switch (*(c+1)) { | |
| 858 case 'n': | |
| 859 // append name | |
| 860 strcpy (cpy+cnt, name); | |
| 861 cnt += strlen(name); | |
| 862 c++; | |
| 863 break; | |
| 864 case 'd': | |
| 865 // append date | |
| 866 strftime (tmp, 20, "%D", tme); | |
| 867 strcpy (cpy+cnt, tmp); | |
| 868 cnt += strlen(tmp); | |
| 869 c++; | |
| 870 break; | |
| 871 case 't': | |
| 872 // append time | |
| 873 strftime (tmp, 20, "%r", tme); | |
| 874 strcpy (cpy+cnt, tmp); | |
| 875 cnt += strlen(tmp); | |
| 876 c++; | |
| 877 break; | |
| 878 default: | |
| 879 cpy[cnt++]=*c; | |
| 880 } | |
| 881 } | |
| 882 break; | |
| 883 default: | |
| 884 cpy[cnt++]=*c; | |
| 885 } | |
| 886 c++; | |
| 887 } | |
| 888 cpy[cnt]='\0'; | |
| 889 return(cpy); | |
| 890 } |
