home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / flistfrontend / src / flmore.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-06  |  1.4 KB  |  67 lines

  1. #ifndef NO_IDENT
  2. static char *Id = "$Id: flmore.c,v 1.6 1995/06/06 10:20:46 tom Exp $";
  3. #endif
  4.  
  5. /*
  6.  * Title:    flmore.c
  7.  * Author:    Thomas E. Dickey
  8.  * Created:    20 Jun 1984
  9.  * Last update:
  10.  *        18 Mar 1995, prototypes
  11.  *        03 Jul 1985, cleanup 'filelist' definition.
  12.  *        30 Dec 1984, provide for current-entry-only call (xdcl_==0).
  13.  *        27 Sep 1984, no need for restriction to source-filetypes.
  14.  *        10 Jul 1984, corrected filename determination
  15.  *        04 Jul 1984, converted to DCLARG-list
  16.  *        03 Jul 1984, changed 'faccess' to 'dirent_acc'
  17.  *        20 Jun 1984
  18.  *
  19.  * Function:    This module performs a call to the BROWSE program (linked) with
  20.  *        FLIST.
  21.  */
  22.  
  23. #include    <stdio.h>
  24. #include    <string.h>
  25.  
  26. #include    "flist.h"
  27. #include    "dirent.h"
  28. #include    "dircmd.h"
  29. #include    "dirseek.h"
  30. #include    "dds.h"
  31.  
  32. extern    int    more (int argc, char **argv);
  33.  
  34. import(filelist);
  35.  
  36. tDIRCMD(flmore)
  37. {
  38.     FILENT    ztmp;
  39.     int    j, argc;
  40.     char    *argv    [3],
  41.         fullname[MAX_PATH],    owncmd[MAX_PATH + 10];
  42.  
  43.     argv[0] = "BROWSE";    /* patch: WhoAmI */
  44.     argv[1] = xcmd_;
  45.     argv[2] = 0;
  46.     argc = 2;
  47.  
  48.     if (xdcl_ && xcmd_)
  49.         strcpy (fullname, dclinx (xdcl_, 1, 0));
  50.     else
  51.     {
  52.         dirent_glue (fullname, FK_(*curfile_));
  53.         sprintf (argv[1] = owncmd, "BROWSE %s", fullname);
  54.     }
  55.  
  56.     if (! dirent_old1 (&ztmp, fullname))    return;
  57.  
  58.     if (! dirent_acc(&ztmp, "r"))
  59.     {
  60.         warn ("No read-access rights to %s", fullname);
  61.         return;
  62.     }
  63.  
  64.     more (argc, argv);
  65.     if (!didwarn ())    dds_all (-1, *curfile_);
  66. }
  67.