Attachment 'lfc-sfn2lfn.cc'

Download

   1 #include <iostream>
   2 #include <fstream>
   3 #include <cstdlib>
   4 
   5 #include "lfc_api.h"
   6 #include "serrno.h"
   7 
   8 int main(int argc, char *argv[])
   9 {
  10     if (argc != 3) {
  11         std::cerr << "Usage: " << argv[0] << " SFNFILE LFNFILE" << std::endl;
  12         return 1;
  13     }
  14 
  15     std::ifstream in(argv[1]);
  16     std::ofstream out(argv[2]);
  17 
  18     if (!in) {
  19         std::cerr << argv[0] << ": " << argv[1] << ": Could not be opened for reading" << std::endl;
  20         return 1;
  21     }
  22     if (!out) {
  23         std::cerr << argv[0] << ": " << argv[2] << ": Could not be opened for writing" << std::endl;
  24         return 1;
  25     }
  26     if (lfc_startsess(getenv("LFC_HOST"), "Looking up links of SFNs")) {
  27         std::cerr << argv[0] << ": " << sstrerror(serrno) << std::endl;
  28         return 1;
  29     }
  30 
  31     std::string sfn;
  32     while (in >> sfn) {
  33         struct lfc_filestatg statbuf;
  34         struct lfc_linkinfo *links;
  35         int numlinks;
  36 
  37         if (lfc_statr(sfn.c_str(), &statbuf) || lfc_getlinks(0, statbuf.guid, &numlinks, &links)) {
  38             std::cerr << argv[0] << ": " << sfn << ": " << sstrerror(serrno) << std::endl;
  39             continue;
  40         }
  41         if (numlinks == 0) {
  42             std::cerr << argv[0] << ": " << sfn << ": No links found" << std::endl;
  43         } else for (int i = 0; i < numlinks; ++i) {
  44             out << "lfn:" << links[i].path;
  45             if (i < numlinks - 1) out << "\t";
  46             else out << std::endl;
  47         }
  48         std::free(links);
  49     }
  50     
  51     lfc_endsess();
  52     out.close();
  53     in.close();
  54 }

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2008-10-29 21:58:46, 0.8 KB) [[attachment:asc.c]]
  • [get | view] (2008-10-29 15:52:36, 0.6 KB) [[attachment:bbox]]
  • [get | view] (2008-10-29 15:52:48, 0.8 KB) [[attachment:bib2bib]]
  • [get | view] (2008-10-29 21:58:53, 0.0 KB) [[attachment:bits.c]]
  • [get | view] (2008-10-29 21:58:59, 0.7 KB) [[attachment:claus.c]]
  • [get | view] (2008-10-29 15:53:02, 0.9 KB) [[attachment:cvstags]]
  • [get | view] (2008-10-29 15:53:20, 0.7 KB) [[attachment:german2iso]]
  • [get | view] (2008-10-29 15:53:26, 1.1 KB) [[attachment:germanuml]]
  • [get | view] (2008-10-29 15:53:34, 0.4 KB) [[attachment:gnuplot_diff]]
  • [get | view] (2008-10-29 15:53:42, 1.2 KB) [[attachment:httphead]]
  • [get | view] (2008-10-30 10:56:00, 2.4 KB) [[attachment:ldapphone.cc]]
  • [get | view] (2008-10-29 21:59:14, 0.0 KB) [[attachment:leak.cc]]
  • [get | view] (2008-10-29 22:00:45, 1.3 KB) [[attachment:lfc-lr.cc]]
  • [get | view] (2008-10-29 22:00:55, 1.9 KB) [[attachment:lfc-se-ls.cc]]
  • [get | view] (2008-10-29 22:01:03, 2.2 KB) [[attachment:lfc-se-user.cc]]
  • [get | view] (2008-10-29 22:01:09, 1.5 KB) [[attachment:lfc-sfn2lfn.cc]]
  • [get | view] (2008-10-29 21:59:35, 0.4 KB) [[attachment:liststat.cc]]
  • [get | view] (2008-10-29 21:59:41, 0.2 KB) [[attachment:listsum.cc]]
  • [get | view] (2008-10-29 21:59:47, 0.4 KB) [[attachment:listtab.cc]]
  • [get | view] (2008-10-29 15:53:55, 1.3 KB) [[attachment:lsf]]
  • [get | view] (2008-10-29 15:54:01, 0.3 KB) [[attachment:mangrep]]
  • [get | view] (2008-10-29 15:54:09, 0.4 KB) [[attachment:msec2time]]
  • [get | view] (2008-10-29 15:54:17, 0.3 KB) [[attachment:notouch]]
  • [get | view] (2008-10-29 15:54:27, 1.1 KB) [[attachment:pathgrep]]
  • [get | view] (2008-10-29 21:59:55, 0.7 KB) [[attachment:realtime.cc]]
  • [get | view] (2008-10-29 15:54:39, 0.5 KB) [[attachment:root2iso]]
  • [get | view] (2008-10-29 15:54:47, 0.4 KB) [[attachment:rpath]]
  • [get | view] (2008-10-29 15:54:58, 0.7 KB) [[attachment:sourcegrep]]
  • [get | view] (2008-10-29 15:55:06, 0.3 KB) [[attachment:system]]
  • [get | view] (2008-10-29 22:00:07, 1.6 KB) [[attachment:timeout.c]]
  • [get | view] (2008-11-18 12:03:33, 0.4 KB) [[attachment:unicode]]
  • [get | view] (2008-10-29 22:00:15, 0.4 KB) [[attachment:unixtime2time.c]]
  • [get | view] (2008-10-29 15:55:18, 0.1 KB) [[attachment:win]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.