BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / bbs-man-dev / #7783同步于 1 周前
BBSMan_Dev机器人发帖

读写userdata应该有什么函数?

luckwithme.
1 周前镜像同步7 回复
转信站: BYR!news.byr.edu.cn!news.neu.edu.cn!news.pigpark.net!news.newsmth.net!N 读的话是read_user_memo还是read_userdata呢?两者在获得userdata这个数据结构上有无区别? 写的话都是用write_userdata吗?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
luckwithme.机器人#1 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我看了代码,write_userdata写的是.userdata,read_userdata写的是.userdata,而read_user_memo读的是usermemo,那么这个函数有没有对应的写的函数呢? 【 在 luckwithme (Marvel) 的大作中提到: 】 : 标 题: 读写userdata应该有什么函数? : 发信站: 水木社区 (Wed Sep 17 13:10:52 2008), 转信 : : 读的话是read_user_memo还是read_userdata呢?两者在获得userdata这个数据结构上有无区别? : 写的话都是用write_userdata吗? : : -- : : ※ 来源:·水木社区 newsmth.net·[FROM: 61.167.60.*]
fancyrabbit.机器人#2 · 1 周前
转信站: BYR!news.byr.edu.cn!news.shec6.edu.cn!news.newsmth.net!NEWSMTH .userdata 和 usermemo 应该内容一样,后者用来 mmap 没看懂你要改啥?你可以参考一下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) { : ...................
luckwithme.机器人#3 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我要修改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.*]
fancyrabbit.机器人#4 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 。。看 userinfo.c 里 给你摘一段出来 if(write_userdata(urec->userid,&vdata)==-1){ MU_PUT((MU_ITEM+2),MU_MSG(R,"回写用户数据时发生致命错误...")); return -9; } j=read_user_memo(urec->userid,&memo); if(!(j<0)&&(j!=sizeof(struct usermemo))) end_mmapfile(memo,sizeof(struct usermemo),-1); if(j==sizeof(struct usermemo)){ memcpy(&(memo->ud),&vdata,sizeof(struct userdata)); end_mmapfile(memo,sizeof(struct usermemo),-1); } else{ sethomefile(buf,urec->userid,"usermemo"); unlink(buf); } 【 在 luckwithme (Marvel) 的大作中提到: 】 : 我要修改reg_email,使用的是read_userdata和write_userdata,其实已经成功了。.userdata中已经修改了,但是userdemo中却还是没变。 : 问题是telent的时候,login_query中调用的是read_user_memo,也就是读取的是userdemo中的数据,这样子,reg_email就不是我想要的值了 : 这两者如何保持一致呢? : ...................
luckwithme.机器人#5 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 如果这样子的话,是不是说.userdata和userdemo的同步需要手动添加? src/register.c中好像有很多只是写了write_userdata,这样会不会有问题? 【 在 fancyrabbit (fancy★Job-Hunting...★喵) 的大作中提到: 】 : 标 题: Re: 读写userdata应该有什么函数? : 发信站: 水木社区 (Wed Sep 17 16:52:46 2008), 转信 : : 。。看 userinfo.c 里 : : : 给你摘一段出来 : : if(write_userdata(urec->userid,&vdata)==-1){ : MU_PUT((MU_ITEM+2),MU_MSG(R,"回写用户数据时发生致命错误...")); : return -9; : } : j=read_user_memo(urec->userid,&memo); : if(!(j<0)&&(j!=sizeof(struct usermemo))) : end_mmapfile(memo,sizeof(struct usermemo),-1); : if(j==sizeof(struct usermemo)){ : memcpy(&(memo->ud),&vdata,sizeof(struct userdata)); : end_mmapfile(memo,sizeof(struct usermemo),-1); : } : else{ : sethomefile(buf,urec->userid,"usermemo"); : unlink(buf); : } : 【 在 luckwithme (Marvel) 的大作中提到: 】 : : 我要修改reg_email,使用的是read_userdata和write_userdata,其实已经成功了。.userdata中已经修改了,但是userdemo中却还是没变。 : : 问题是telent的时候,login_query中调用的是read_user_memo,也就是读取的是userdemo中的数据,这样子,reg_email就不是我想要的值了 : : 这两者如何保持一致呢? : : ................... : : -- : 她说,我大概是一只鸟。充满了警觉,不容易停留。 : 所以一直在飞。 : 我总是以为自己是会对流失的时间和往事习惯的。 : 不管在哪里。碰到谁。以什么样的方式结束。 : : : ※ 来源:·水木社区 newsmth.net·[FROM: 211.151.94.*]
fancyrabbit.机器人#6 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 嫌麻烦就直接咔嚓掉usermemo完事。 【 在 luckwithme (Marvel) 的大作中提到: 】 : 如果这样子的话,是不是说.userdata和userdemo的同步需要手动添加? : src/register.c中好像有很多只是写了write_userdata,这样会不会有问题?
luckwithme.机器人#7 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我只是因为程序调不对劲所以研究了一下,但是不太明白这两个文件有什么关系 【 在 fancyrabbit (fancy★Job-Hunting...★喵) 的大作中提到: 】 : 标 题: Re: 读写userdata应该有什么函数? : 发信站: 水木社区 (Wed Sep 17 17:04:04 2008), 转信 : : 嫌麻烦就直接咔嚓掉usermemo完事。 : 【 在 luckwithme (Marvel) 的大作中提到: 】 : : 如果这样子的话,是不是说.userdata和userdemo的同步需要手动添加? : : src/register.c中好像有很多只是写了write_userdata,这样会不会有问题? : : : -- : 她说,我大概是一只鸟。充满了警觉,不容易停留。 : 所以一直在飞。 : 我总是以为自己是会对流失的时间和往事习惯的。 : 不管在哪里。碰到谁。以什么样的方式结束。 : : : ※ 来源:·水木社区 newsmth.net·[FROM: 211.151.94.*]