我要修改reg_email,使用的是read_userdata和write_userdata,其实已经成功了。.userdata中已经修改了,但是userdemo中却还是没变。
问题是telent的时候,login_query中调用的是read_user_memo,也就是读取的是userdemo中的数据,这样子,reg_email就不是我想要的值了
【 在 fancyrabbit (fancy★Job-Hunting...★喵) 的大作中提到: 】
: 标 题: Re: 读写userdata应该有什么函数?
: 发信站: 水木社区 (Wed Sep 17 13:41:29 2008), 转信
:
: .userdata 和 usermemo 应该内容一样,后者用来 mmap
这两者如何保持一致呢?
int write_userdata(const char *userid, struct userdata *ud)
{
char datafile[STRLEN];
int fd;
if ((userid == NULL || userid[0] == '\0') || ud == NULL)
return -1;
sethomefile(datafile, userid, USERDATA);
if ((fd = open(datafile, O_WRONLY, 0644)) < 0)
return -1;
write(fd, ud, sizeof(struct userdata));
close(fd);
return 0;
}
这里只是写到了.userdata而已
:
: 没看懂你要改啥?你可以参考一下userinfo.c里修改用户资料的部分 ...
: 【 在 luckwithme (Marvel) 的大作中提到: 】
: : 我看了代码,write_userdata写的是.userdata,read_userdata写的是.userdata,而read_user_memo读的是usermemo,那么这个函数有没有对应的写的函数呢?
: : 如果我要修改某一个userdata中的字段,应该用哪个函数?我看了newmain_single.c中用的是read_user_memo的方式:
: : 631 if (read_user_memo(getCurrentUser()->userid, &getSession()->currentmemo) <= 0) {
: : ...................
:
: --
: 她说,我大概是一只鸟。充满了警觉,不容易停留。
: 所以一直在飞。
: 我总是以为自己是会对流失的时间和往事习惯的。
: 不管在哪里。碰到谁。以什么样的方式结束。
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 211.151.94.*]
--
FROM 61.167.60.*