home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Spezial / SPEZIAL2_97.zip / SPEZIAL2_97.iso / ANWEND / ONLINE / SREFPRC1 / GETPRIVS.SRF < prev    next >
Text File  |  1997-07-06  |  1KB  |  48 lines

  1. /****************/
  2. /* extract dynamic privileges for this client */
  3. sref_get_add_privs:
  4. parse arg host_nickname,who,port,enmadd,tempdata_dir,verbose
  5.  
  6. d1=date('b')
  7. t1=time('m')/(24*60)
  8. nowtime=d1+t1
  9.  
  10. /* check for file. If not there, give up */
  11. wdir=strip(tempdata_dir,'t','\')||'\'
  12. dafile=wdir||"_ADDPRIV."||port
  13.  
  14. aa=stream(dafile,'c','query exists')
  15. if aa="" then do
  16.  if verbose>2 then call pmprintf_sref('No add-privileges file: 'dafile)
  17.  return  ' '     /* no entries */
  18. end
  19. ause=sref_open_read(dafile,30,'READ')
  20. if ause<0 then do                  /* couldn't get it, give up */
  21.   if verbose>0 then call pmprintf_sref(" Warning: add-privileges file busy ")
  22.   return ' '
  23. end
  24. ause=charin(dafile,1,chars(dafile))
  25. /* see if any thing for client */
  26. if pos(who,ause)=0 then return ' '
  27. if host_nickname<>' ' then
  28.    if pos(host_nickname,ause)=0 then return
  29. /* got something for this client/host_nickname; get em */
  30. phold=""
  31. crlf='0d0a'x
  32. ause=translate(ause,' ','001a09'x)
  33. do until ause=""
  34.    parse upper var ause . (who) adate anick ',' aprivs (Crlf) ause
  35.    anick=strip(anick) ; adate=strip(adate); aprivs=strip(aprivs)
  36.    if host_nickname<>' ' & anick<>host_nickname then iterate
  37.    if adate<nowtime then iterate
  38.    phold=phold||' '||aprivs
  39. end
  40.  
  41. if verbose>2 & phold<>' ' then call pmprintf_sref(" Adding privileges: " phold)
  42. return phold
  43.  
  44.  
  45.  
  46.  
  47.  
  48.