⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htuser.c

📁 www工具包. 这是W3C官方支持的www支撑库. 其中提供通用目的的客户端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
💻 C
字号:
/***	USER PROFILE****	(c) COPYRIGHT MIT 1995.**	Please first read the full copyright statement in the file COPYRIGH.**	@(#) $Id: HTUser.c,v 2.6 1999/04/25 00:02:47 frystyk Exp $****	Contains information about local host, email, etc.****	May 96  HFN	Written*//* Library include files */#include "wwwsys.h"#include "WWWUtil.h"#include "HTInet.h"#include "HTUser.h"					 /* Implemented here *//* The default directory for "save locally" and "save and execute" files: */#ifndef HT_TMP_ROOT#ifdef WWW_MSWINDOWS#define HT_TMP_ROOT		"C:\\Temp\\"#else#define HT_TMP_ROOT		"/tmp/"#endif /* WWW_MSWINDOWS */#endifstruct _HTUserProfile {    char *	user;    char * 	fqdn;			      /* Fully qualified domain name */    char * 	email;			    /* Email address of current user */    char * 	news;				   /* The news server to use */    char *	tmp;			     /* Location for temporary files */    time_t	timezone;			     /* Time zone in seconds */    void *	context;			     /* Application specific */};/* ------------------------------------------------------------------------- *//***	Create a new host profile object and initialize it with what we can**	find on this host.*/PUBLIC HTUserProfile * HTUserProfile_new (const char * name, void * context){    HTUserProfile * me = NULL;    if (name) {	if ((me = (HTUserProfile *) HT_CALLOC(1, sizeof(HTUserProfile)))==NULL)	    HT_OUTOFMEM("HTUserProfile_new");	HTTRACE(CORE_TRACE, "User Profile Adding `%s\'\n" _ name);	StrAllocCopy(me->user, name);	/* Set the context */	me->context = context;    }    return me;}/***	Localize a user profile by filling in all the information that we**	can figure out automatically, for example the email address, news**	server etc.*/PUBLIC BOOL HTUserProfile_localize (HTUserProfile * up){    if (up) {	HTTRACE(CORE_TRACE, "User Profile Localizing %p\n" _ up);	/* Find the FQDN */	up->fqdn = HTGetHostName();	/* Find the user email address */	up->email = HTGetMailAddress();	/* Find the news server */	up->news = HTGetNewsServer();	/* Find the timezone offset */	up->timezone = HTGetTimeZoneOffset();	/* Find the default location for temporary files */	StrAllocCopy(up->tmp, HT_TMP_ROOT);	if (*(up->tmp+strlen(up->tmp)-1) != DIR_SEPARATOR_CHAR)	    StrAllocCat(up->tmp, DIR_SEPARATOR_STR);	return YES;    }    return NO;}/***	Delete a user profile*/PUBLIC BOOL HTUserProfile_delete (HTUserProfile * up){    if (up) {	HT_FREE(up->user);	HT_FREE(up->fqdn);	HT_FREE(up->email);	HT_FREE(up->news);	HT_FREE(up->tmp);	HT_FREE(up);	return YES;    }    return NO;}PUBLIC char * HTUserProfile_fqdn (HTUserProfile * up){    return up ? up->fqdn : NULL;}PUBLIC BOOL HTUserProfile_setFqdn (HTUserProfile * up, const char * fqdn){    if (up && fqdn) {	StrAllocCopy(up->fqdn, fqdn);	return YES;    }    return NO;}PUBLIC char * HTUserProfile_email (HTUserProfile * up){    return up ? up->email : NULL;}PUBLIC BOOL HTUserProfile_setEmail (HTUserProfile * up, const char * email){    if (up && email) {	StrAllocCopy(up->email, email);	return YES;    }    return NO;}PUBLIC char * HTUserProfile_news (HTUserProfile * up){    return up ? up->news : NULL;}PUBLIC BOOL HTUserProfile_setNews (HTUserProfile * up, const char * news){    if (up && news) {	StrAllocCopy(up->news, news);	return YES;    }    return NO;}PUBLIC char * HTUserProfile_tmp (HTUserProfile * up){    return up ? up->tmp : NULL;}PUBLIC BOOL HTUserProfile_setTmp (HTUserProfile * up, const char * tmp){    if (up && tmp) {	StrAllocCopy(up->tmp, tmp);	if (*(up->tmp+strlen(up->tmp)-1) != DIR_SEPARATOR_CHAR)	    StrAllocCat(up->tmp, DIR_SEPARATOR_STR);	return YES;    }    return NO;}PUBLIC time_t HTUserProfile_timezone (HTUserProfile * up){    return up ? up->timezone : 0;}PUBLIC BOOL HTUserProfile_setTimezone (HTUserProfile * up, time_t timezone){    if (up) {	up->timezone = timezone;	return YES;    }    return NO;}PUBLIC void * HTUserProfile_context (HTUserProfile * up){    return up ? up->context : NULL;}PUBLIC BOOL HTUserProfile_setContext (HTUserProfile * up, void * context){    if (up) {	up->context = context;	return YES;    }    return NO;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -