/[global]/global/global/global.c
ViewVC logotype

Diff of /global/global/global.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.114 by shigio, Wed Nov 2 01:08:50 2005 UTC revision 1.115 by shigio, Sat Nov 5 14:07:09 2005 UTC
# Line 54  FILE *openfilter(void); Line 54  FILE *openfilter(void);
54  void closefilter(FILE *);  void closefilter(FILE *);
55  void completion(const char *, const char *, const char *);  void completion(const char *, const char *, const char *);
56  void idutils(const char *, const char *);  void idutils(const char *, const char *);
57  void grep(const char *);  void grep(const char *, const char *);
58  void pathlist(const char *, const char *);  void pathlist(const char *, const char *);
59  void parsefile(int, char **, const char *, const char *, const char *, int);  void parsefile(int, char **, const char *, const char *, const char *, int);
60  void printtag(FILE *, const char *);  void printtag(FILE *, const char *);
# Line 467  main(int argc, char **argv) Line 467  main(int argc, char **argv)
467           */           */
468          if (gflag) {          if (gflag) {
469                  chdir(root);                  chdir(root);
470                  grep(av);                  grep(dbpath, av);
471                  exit(0);                  exit(0);
472          }          }
473          /*          /*
# Line 760  idutils(const char *pattern, const char Line 760  idutils(const char *pattern, const char
760   *      i)      pattern POSIX regular expression   *      i)      pattern POSIX regular expression
761   */   */
762  void  void
763  grep(const char *pattern)  grep(const char *dbpath, const char *pattern)
764  {  {
765          FILE *op, *fp;          FILE *op, *fp;
766          STRBUF *ib = strbuf_open(MAXBUFLEN);          STRBUF *ib = strbuf_open(MAXBUFLEN);
767          const char *path, *p;          const char *path;
768          char edit[IDENTLEN+1];          char edit[IDENTLEN+1];
769          const char *buffer;          const char *buffer;
770          int linenum, count;          int linenum, count;
# Line 785  grep(const char *pattern) Line 785  grep(const char *pattern)
785          if (!(op = openfilter()))          if (!(op = openfilter()))
786                  die("cannot open output filter.");                  die("cannot open output filter.");
787          count = 0;          count = 0;
788          for (vfind_open(localprefix, oflag); (p = vfind_read()) != NULL; ) {          gfind_open(dbpath, localprefix, oflag);
789                  path = (*p == ' ') ? ++p : p;          while ((path = gfind_read()) != NULL) {
790                  if (!(fp = fopen(path, "r")))                  if (!(fp = fopen(path, "r")))
791                          die("cannot open file '%s'.", path);                          die("cannot open file '%s'.", path);
792                  linenum = 0;                  linenum = 0;
# Line 809  grep(const char *pattern) Line 809  grep(const char *pattern)
809                  }                  }
810                  fclose(fp);                  fclose(fp);
811          }          }
812          vfind_close();          gfind_close();
813          closefilter(op);          closefilter(op);
814          strbuf_close(ib);          strbuf_close(ib);
815          regfree(&preg);          regfree(&preg);
# Line 854  pathlist(const char *dbpath, const char Line 854  pathlist(const char *dbpath, const char
854          if (!(op = openfilter()))          if (!(op = openfilter()))
855                  die("cannot open output filter.");                  die("cannot open output filter.");
856          count = 0;          count = 0;
857          for (vfind_open(localprefix, oflag); (p = vfind_read()) != NULL; ) {          gfind_open(dbpath, localprefix, oflag);
858                  path = (*p == ' ') ? ++p : p;          while ((path = gfind_read()) != NULL) {
859                  /*                  /*
860                   * skip localprefix because end-user doesn't see it.                   * skip localprefix because end-user doesn't see it.
861                   */                   */
# Line 872  pathlist(const char *dbpath, const char Line 872  pathlist(const char *dbpath, const char
872                  }                  }
873                  count++;                  count++;
874          }          }
875          vfind_close();          gfind_close();
876          closefilter(op);          closefilter(op);
877          if (av)          if (av)
878                  regfree(&preg);                  regfree(&preg);
# Line 959  parsefile(int argc, char **argv, const c Line 959  parsefile(int argc, char **argv, const c
959                  }                  }
960                  path -= 2;                  path -= 2;
961                  *path = '.';                  *path = '.';
962                  if (!gpath_path2fid(path)) {                  if (!gpath_path2fid(path, NULL)) {
963                          if (!qflag)                          if (!qflag)
964                                  fprintf(stderr, "'%s' not found in GPATH.\n", path);                                  fprintf(stderr, "'%s' not found in GPATH.\n", path);
965                          continue;                          continue;

Legend:
Removed from v.1.114  
changed lines
  Added in v.1.115

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26