Mercurial > pidgin.yaz
view src/protocols/zephyr/ZGetSender.c @ 13573:0b2e4a5a8e79
[gaim-migrate @ 15952]
Bj??rn pointed out on gaim-i18n that the instructions are not translated.
For users who might not speak English (or whatever language the server
configuration file is in), it seems worthwhile to flag that text as coming
from the server.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 26 Mar 2006 17:45:53 +0000 |
parents | 1b0c83666f98 |
children |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZGetSender.c function. * * Created by: Robert French * * Copyright (c) 1987, 1991 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ #include "internal.h" #ifndef WIN32 #include <pwd.h> #endif char *ZGetSender() { struct passwd *pw; #ifdef ZEPHYR_USES_KERBEROS char pname[ANAME_SZ]; char pinst[INST_SZ]; char prealm[REALM_SZ]; static char sender[ANAME_SZ+INST_SZ+REALM_SZ+3] = ""; long int kerror; #else static char sender[128] = ""; #endif #ifdef WIN32 unsigned long sender_size = sizeof(sender) - 1; #endif #ifdef ZEPHYR_USES_KERBEROS if ((kerror = krb_get_tf_fullname((char *)TKT_FILE, pname, pinst, prealm)) == KSUCCESS) { sprintf(sender, "%s%s%s@%s", pname, (pinst[0] ? "." : ""), pinst, prealm); return sender; } #endif #ifdef WIN32 GetUserName(sender, &sender_size); #else /* XXX a uid_t is a u_short (now), but getpwuid * wants an int. AARGH! */ pw = getpwuid((int) getuid()); if (!pw) return ("unknown"); sprintf(sender, "%s@%s", pw->pw_name, __Zephyr_realm); #endif return sender; }