diff options
author | Fritz Elfert <felfert@to.com> | 1999-07-04 11:59:42 +0000 |
---|---|---|
committer | Fritz Elfert <felfert@to.com> | 1999-07-04 11:59:42 +0000 |
commit | f2d9bc87bc87b4ef3cdee081c65ad1c248804edd (patch) | |
tree | febc5b563533b56b9768d1d176fc8c8325d6ab8d /plpftp | |
parent | 7c656c8b37fd4733ff6a389de95e3ab7110f586b (diff) | |
download | plptools-f2d9bc87bc87b4ef3cdee081c65ad1c248804edd.tar.gz plptools-f2d9bc87bc87b4ef3cdee081c65ad1c248804edd.tar.bz2 plptools-f2d9bc87bc87b4ef3cdee081c65ad1c248804edd.zip |
logging via syslog, more error-handling.
Diffstat (limited to 'plpftp')
-rw-r--r-- | plpftp/Makefile.am | 3 | ||||
-rw-r--r-- | plpftp/ftp.cc | 4 | ||||
-rw-r--r-- | plpftp/main.cc | 56 |
3 files changed, 12 insertions, 51 deletions
diff --git a/plpftp/Makefile.am b/plpftp/Makefile.am index 89ca535..7e2c00c 100644 --- a/plpftp/Makefile.am +++ b/plpftp/Makefile.am @@ -1,5 +1,6 @@ INCLUDES=-I../lib bin_PROGRAMS = plpftp -plpftp_LDADD = ../lib/.libs/libplp.so +plpftp_LDADD = ../lib/libplp.la plpftp_SOURCES = ftp.cc main.cc +EXTRA_DIST = ftp.h diff --git a/plpftp/ftp.cc b/plpftp/ftp.cc index 70111e2..1f73e77 100644 --- a/plpftp/ftp.cc +++ b/plpftp/ftp.cc @@ -224,7 +224,7 @@ session(rfsv32 & a, int xargc, char **xargv) if (vname != NULL) { cout << (char) ('A' + i) << " " << hex << setw(4) << setfill('0') << vattr << " " << - setw(12) << setfill(' ') << vname << dec << setw(9) << + setw(12) << setfill(' ') << setiosflags(ios::left) << vname << resetiosflags(ios::left) << dec << setw(9) << vtotal << setw(9) << vfree << setw(10) << vuniqueid << endl; free(vname); } @@ -485,7 +485,7 @@ session(rfsv32 & a, int xargc, char **xargv) if (strcmp(argv[0], "bye") && strcmp(argv[0], "quit")) usage(); } while (strcmp(argv[0], "bye") && strcmp(argv[0], "quit") && - ((a.getStatus() == 0) || (once == 0))); + (once == 0)); return a.getStatus(); } diff --git a/plpftp/main.cc b/plpftp/main.cc index 2887e1c..87efbe1 100644 --- a/plpftp/main.cc +++ b/plpftp/main.cc @@ -36,7 +36,7 @@ void usage() { cout << "Version " << VERSION << endl; - cout << "Usage : plpftp -s <socket number> <command> <parameters>\n"; + cout << "Usage : plpftp -p <port> [ftpcommand parameters]\n"; } void @@ -56,7 +56,9 @@ int main(int argc, char **argv) { ppsocket *skt; - bool res; + rfsv32 *a; + ftp f; + int status = 0; sigset_t sigset; // Command line parameter processing @@ -65,7 +67,7 @@ main(int argc, char **argv) sigaddset(&sigset, SIGPIPE); sigprocmask(SIG_BLOCK, &sigset, 0L); - if ((argc > 2) && !strcmp(argv[1], "-s")) { + if ((argc > 2) && !strcmp(argv[1], "-p")) { sockNum = atoi(argv[2]); argc -= 2; for (int i=1; i<argc; i++) @@ -75,52 +77,10 @@ main(int argc, char **argv) if (argc < 2) ftpHeader(); skt = new ppsocket(); - res = skt->connect(NULL, sockNum); - if (!res) { - delete skt; - - // Let's try to start a daemon - char temp[200]; - sprintf(temp, "ncp -s %d > /dev/null &", sockNum); - system(temp); - - for (int retry = 0; !res && retry < 40; retry++) { - usleep(100000); - skt = new ppsocket(); - skt->startup(); - res = skt->connect(NULL, sockNum); - if (!res) - delete skt; - } - - if (!res) { - delete skt; - cout << "Can't connect to ncp daemon on socket " << sockNum << endl; - return 1; - } - sleep(2); // Let the psion connect - - } - rfsv32 *a; - while (true) { - a = new rfsv32(skt); - if (a->getStatus() == 0) - break; - delete a; - delete skt; - cerr << "No Link available, waiting 2 secs ..." << endl; - sleep(2); - skt = new ppsocket(); - skt->startup(); - skt->connect(NULL, sockNum); - } - - int status = 0; - ftp f; + skt->connect(NULL, sockNum); + a = new rfsv32(skt); status = f.session(*a, argc, argv); - if (status != 0) - cerr << "Command failed\n"; delete a; - return 0; + return status; } |