/* example toy application for ftplib 

   args are: hostname, login, passwd, cddir, lsdir (both possibly as empty
   strings ""), long?

   ./example myftpserver mylogin mypassd "" "" 0
   ./example myftpserver mylogin mypasswd "mydir" "subdir" 1

*/

#include <stdio.h>
#include <stdlib.h>
#include "ftplib.h"

int error(char *msg)
{
  fprintf(stderr, "%s\n", msg);
  exit(1);
}

int process_entry(char *ent, unsigned len)
{
  printf("%s\n", ent);
  return 0;
}

int main(int argc, char **argv)
{
  /* this enables printing of sent FTP commands */
  ftp_debug=1;
  /* and this printing of status responses */
  ftp_verbose=1;

  /* check number of arguments */
  if (argc!=7) error("Usage: example myftpserver mylogin mypasswd mydir subdir long?");

  /* open the FTP connection */
  if (ftp_open(argv[1], argv[2], argv[3])) error("ftp_open");

  /* perform cd only if a non empty string was given */
  if (strlen(argv[4])) ftp_cd(argv[4]);

  /* perform the directory listing */
  ftp_ls(atoi(argv[6]), argv[5], process_entry);

  /* the end */
  ftp_close();
}