refriend.c
上传用户:minyiyu
上传日期:2018-12-24
资源大小:864k
文件大小:2k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. #include "bbs.h"
  2. int
  3. report()
  4. {
  5.         return;
  6. }
  7. int
  8. tranfer(uid)
  9. char *uid;
  10. {
  11.     struct friend fh;
  12.     char genbuf[80],*str;
  13.     char fname[80];
  14.     char dname[80];
  15.     FILE *fp;
  16.     memset(&fh,0,sizeof(struct friend));
  17.     sprintf( fname, "/home/bbs/home/%s/overrides",uid);
  18.     sprintf( dname, "/home/bbs/home/%s/friends",uid);
  19.     if ((fp = fopen(fname, "r")) == NULL) {
  20.         return 0;
  21.     }
  22.     while (fgets(genbuf, 80, fp) != NULL) 
  23.     {
  24.         if ( (str=strtok( genbuf, " nrt") )!= NULL) 
  25.         {
  26.             sprintf( fh.id,"%.12s", str );
  27.             str= strtok( NULL, " nrt");
  28.             sprintf( fh.exp,"%.14s", (str==NULL)?"":str );
  29.             append_record(dname,&fh,sizeof(fh));
  30.         }
  31.     }
  32.     fclose(fp);
  33.     sprintf(genbuf,"chown bbs.bbs %s",dname);
  34.     system(genbuf);
  35.     unlink(fname);
  36.     return 1;
  37. }
  38. main()
  39. {
  40.         FILE *rec;
  41.         int i=0;
  42.         struct userec user;
  43.         rec=fopen("/home/bbs/.PASSWDS","rb");
  44.         printf("Friends Records Transfering...");
  45.         while(1)
  46.         {
  47.                 if(fread(&user,sizeof(user),1,rec)<=0) break;
  48.                 if(user.numlogins<=0)
  49.                         continue;
  50.                 if(tranfer(user.userid)==1)
  51.                 {
  52.                         printf("%.12s Tranferedn",user.userid);
  53.                 }else
  54.                         printf("%.12s No overrides File...n",user.userid);
  55.                 i++;
  56.         }
  57.         printf("n%d Friends Records Tranfered...n",i);
  58.         fclose(rec);
  59. }