home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume25 / finger / part01 / inquire.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-04-03  |  1.6 KB  |  78 lines

  1. /*
  2.  * inquire.c -- interface from finger to inquire database (holmes)
  3.  *    October 1986
  4.  *
  5.  * Copyright (C) 1988, 1990  Philip L. Budne
  6.  *
  7.  * This file is part of "Phil's Finger Program".
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 1, or (at your option)
  12.  * any later version.
  13.  *
  14.  */
  15.  
  16. # ifndef lint
  17. static char *rcsid = "$Id: inquire.c,v 3.0 90/07/06 13:11:05 budd Rel $";
  18. # endif /* lint not defined */
  19.  
  20. # include "finger.h"
  21. # ifdef INQUIRE                /* entire file! */
  22. # include <stdio.h>
  23. # include "inquire.h"
  24. # include "person.h"
  25. # include "args.h"
  26.  
  27.  
  28. # define W(x,y) (pp->CONC(p_,x) = y)
  29. # define X(x,y) W(x,savestr(bps[y]))
  30. # define Y(x,y) if( bps[y][0] != EOS ) X(x,y); else W(x,NULL)
  31. # define Z(x,y,z) if( bps[y][0] != EOS ) W(x,bps[y][0]); else W(x,z)
  32.  
  33. GLOBAL int doinquire( user, pp, bps )
  34. char *user;
  35. register PERSON *pp;
  36. register char *bps[];
  37. {
  38.     if( bps == NULL ) {
  39.     if( Read( user, BPs ) == NULL )
  40.         return( FALSE );
  41.     bps = BPs;
  42.     }
  43.  
  44.     if( bps[_PNAME][0] != EOS ) {
  45.     char buf[ 120 ];
  46.     npname( buf, bps[_PNAME]);
  47.     pp->p_personal = savestr( buf );
  48.     }
  49.  
  50.     Z(group,_GROUP,'?');
  51.     Z(relation,_REL,'?');
  52.  
  53.     if( !sw_whois )
  54.     return( TRUE );
  55.  
  56.     Y(waddr,_WADDR);
  57.     Y(haddr,_HADDR);
  58.  
  59.     Y(wphone,_WPHON);
  60.     Y(hphone,_HPHON);
  61.  
  62.     Y(project,_PROJ);
  63.     Y(supervisor,_SUPER);
  64.  
  65.     Y(nickname,_NNAME);
  66.     Y(birthday,_BIRTH);
  67.     Y(remarks,_REM);
  68.  
  69.     return( TRUE );
  70. } /* doinquire */
  71. # endif /* INQUIRE defined */
  72.  
  73. /*
  74.  * Local variables:
  75.  * comment-column: 40
  76.  * End:
  77.  */
  78.