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

Diff of /global/htags/htags.c

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

revision 1.41 by shigio, Sat Mar 26 11:07:15 2005 UTC revision 1.42 by shigio, Tue Mar 29 04:43:18 2005 UTC
# Line 76  char cwdpath[MAXPATHLEN]; Line 76  char cwdpath[MAXPATHLEN];
76  char dbpath[MAXPATHLEN];  char dbpath[MAXPATHLEN];
77  char distpath[MAXPATHLEN];  char distpath[MAXPATHLEN];
78  char gtagsconf[MAXPATHLEN];  char gtagsconf[MAXPATHLEN];
79    char datadir[MAXPATHLEN];
80    
81  char sort_path[MAXFILLEN];  char sort_path[MAXFILLEN];
82  char gtags_path[MAXFILLEN];  char gtags_path[MAXFILLEN];
# Line 112  int no_order_list;                     /* 1: doesn't use o Line 113  int no_order_list;                     /* 1: doesn't use o
113  int other_files;                        /* 1: list other files          */  int other_files;                        /* 1: list other files          */
114  int enable_grep;                        /* 1: enable grep               */  int enable_grep;                        /* 1: enable grep               */
115  int enable_idutils;                     /* 1: enable idutils            */  int enable_idutils;                     /* 1: enable idutils            */
116    int enable_xhtml;                       /* 1: enable XHTML              */
117    
118  char *action_value;  char *action_value;
119  char *id_value;  char *id_value;
# Line 236  static struct option const long_options[ Line 238  static struct option const long_options[
238          {"no-map-file", no_argument, &no_map_file, 1},          {"no-map-file", no_argument, &no_map_file, 1},
239          {"statistics", no_argument, &statistics, 1},          {"statistics", no_argument, &statistics, 1},
240          {"style-sheet", required_argument, NULL, 1},          {"style-sheet", required_argument, NULL, 1},
241            {"xhtml", no_argument, &enable_xhtml, 1},
242          {"version", no_argument, &show_version, 1},          {"version", no_argument, &show_version, 1},
243          {"help", no_argument, &show_help, 1},          {"help", no_argument, &show_help, 1},
244          { 0 }          { 0 }
# Line 316  generate_file(dist, file) Line 319  generate_file(dist, file)
319                  char *name;                  char *name;
320                  char *value;                  char *value;
321          } tab[] = {          } tab[] = {
322                  {"@html_begin@", html_begin},                  {"@page_begin@", NULL},
323                  {"@html_end@", html_end},                  {"@page_end@", NULL},
324                  {"@body_begin@", body_begin},                  {"@body_begin@", body_begin},
325                  {"@body_end@", body_end},                  {"@body_end@", body_end},
326                    {"@title_begin@", title_begin},
327                    {"@title_end@", title_end},
328                  {"@error_begin@", error_begin},                  {"@error_begin@", error_begin},
329                  {"@error_end@", error_end},                  {"@error_end@", error_end},
330                  {"@message_begin@", message_begin},                  {"@message_begin@", message_begin},
# Line 340  generate_file(dist, file) Line 345  generate_file(dist, file)
345          };          };
346          int tabsize = sizeof(tab) / sizeof(struct map);          int tabsize = sizeof(tab) / sizeof(struct map);
347    
348            tab[0].value = gen_page_begin("Result", 1);
349            tab[1].value = gen_page_end();
350          /*          /*
351           * construct regular expression.           * construct regular expression.
352           */           */
# Line 356  generate_file(dist, file) Line 363  generate_file(dist, file)
363           * construct skelton file name in the system datadir directory.           * construct skelton file name in the system datadir directory.
364           */           */
365          strbuf_reset(sb);          strbuf_reset(sb);
366          if (!getconfs("datadir", sb))          strbuf_sprintf(sb, "%s/gtags/%s.tmpl", datadir, file);
                 die("cannot get datadir directory name.");  
         strbuf_sprintf(sb, "/gtags/%s.tmpl", file);  
367          ip = fopen(strbuf_value(sb), "r");          ip = fopen(strbuf_value(sb), "r");
368          if (!ip)          if (!ip)
369                  die("skelton file '%s' not found.", strbuf_value(sb));                  die("skelton file '%s' not found.", strbuf_value(sb));
# Line 394  generate_file(dist, file) Line 399  generate_file(dist, file)
399                                  for (q = tab[i].value; *q; q++) {                                  for (q = tab[i].value; *q; q++) {
400                                          if (*q == '"')                                          if (*q == '"')
401                                                  fputc('\\', op);                                                  fputc('\\', op);
402                                            else if (*q == '\n')
403                                                    fputc('\\', op);
404                                          fputc(*q, op);                                          fputc(*q, op);
405                                  }                                  }
406                          }                          }
# Line 490  makehelp(file) Line 497  makehelp(file)
497          op = fopen(makepath(distpath, file, NULL), "w");          op = fopen(makepath(distpath, file, NULL), "w");
498          if (!op)          if (!op)
499                  die("cannot make help file.");                  die("cannot make help file.");
500          fprintf(op, "%s\n", html_begin);          fprintf(op, "%s\n", gen_page_begin("HELP", 0));
         fprintf(op, "%s", set_header("HELP"));  
501          fprintf(op, "%s\n", body_begin);          fprintf(op, "%s\n", body_begin);
502          fprintf(op, "%sUsage of Links%s\n", header_begin, header_end);          fputs(header_begin, op);
503          fprintf(op, "%s/* ", verbatim_begin);          fputs("Usage of Links", op);
504            fprintf(op, "%s\n", header_end);
505            fputs(verbatim_begin, op);
506            fputs("/* ", op);
507          for (n = 0; n <= last; n++) {          for (n = 0; n <= last; n++) {
508                  if (icon_list) {                  if (icon_list) {
509                          fputs(gen_image(CURRENT, icons[n], label[n]), op);                          fputs(gen_image(CURRENT, icons[n], label[n]), op);
# Line 506  makehelp(file) Line 515  makehelp(file)
515          }          }
516          if (show_position)          if (show_position)
517                  fprintf(op, "[+line file]");                  fprintf(op, "[+line file]");
518          fprintf(op, " */%s\n", verbatim_end);          fputs(" */", op);
519          fprintf(op, "<dl>\n");          fprintf(op, "%s\n", verbatim_end);
520            fprintf(op, "%s\n", define_list_begin);
521          for (n = 0; n <= last; n++) {          for (n = 0; n <= last; n++) {
522                  fprintf(op, "<dt>");                  fputs(define_term_begin, op);
523                  if (icon_list) {                  if (icon_list) {
524                          fputs(gen_image(CURRENT, icons[n], label[n]), op);                          fputs(gen_image(CURRENT, icons[n], label[n]), op);
525                  } else {                  } else {
526                          fprintf(op, "[%s]", label[n]);                          fprintf(op, "[%s]", label[n]);
527                  }                  }
528                  fprintf(op, "<dd>%s\n", msg[n]);                  fputs(define_term_end, op);
529                    fputs(define_desc_begin, op);
530                    fputs(msg[n], op);
531                    fprintf(op, "%s\n", define_desc_end);
532          }          }
533          if (show_position) {          if (show_position) {
534                  fprintf(op, "<dt>[+line file]");                  fputs(define_term_begin, op);
535                  fprintf(op, "<dd>Current position (line number and file name).\n");                  fputs("[+line file]", op);
536                    fputs(define_term_end, op);
537                    fputs(define_desc_begin, op);
538                    fputs("Current position (line number and file name).", op);
539                    fprintf(op, "%s\n", define_desc_end);
540          }          }
541          fprintf(op, "</dl>\n");          fprintf(op, "%s\n", define_list_end);
542          fprintf(op, "%s\n", body_end);          fprintf(op, "%s\n", body_end);
543          fprintf(op, "%s\n", html_end);          fprintf(op, "%s\n", gen_page_end());
544          fclose(op);          fclose(op);
545          file_count++;          file_count++;
546  }  }
# Line 549  makesearchpart(action, id, target) Line 566  makesearchpart(action, id, target)
566          strbuf_puts(sb, "SEARCH");          strbuf_puts(sb, "SEARCH");
567          if (Fflag)          if (Fflag)
568                  strbuf_puts(sb, gen_href_end());                  strbuf_puts(sb, gen_href_end());
569          strbuf_puts(sb, header_end);          strbuf_sprintf(sb, "%s\n", header_end);
570          strbuf_putc(sb, '\n');          if (!target) {
571          if (!target)                  strbuf_puts(sb, "Please input object name and select [Search]. POSIX's regular expression is allowed.");
572                  strbuf_puts(sb, "Please input object name and select [Search]. POSIX's regular expression is allowed.<p>\n");                  strbuf_puts(sb, br);
573                    strbuf_putc(sb, '\n');
574            }
575          strbuf_sprintf(sb, "<form method='get' action='%s'", action);          strbuf_sprintf(sb, "<form method='get' action='%s'", action);
576          if (target)          if (target)
577                  strbuf_sprintf(sb, " target='%s'", target);                  strbuf_sprintf(sb, " target='%s'", target);
578          strbuf_puts(sb, ">\n");          strbuf_sprintf(sb, "%s>\n", empty_element);
579          strbuf_puts(sb, "<input name='pattern'>\n");          strbuf_sprintf(sb, "<input name='pattern'%s>\n", empty_element);
580          strbuf_puts(sb, "<input type='hidden' name='id' value='");          if (id == NULL)
581          if (id)                  id = "";
582                  strbuf_puts(sb, id);          strbuf_sprintf(sb, "<input type='hidden' name='id' value='%s'%s>\n", id, empty_element);
583          strbuf_puts(sb, "'>\n");          strbuf_sprintf(sb, "<input type='submit' value='Search'%s>\n", empty_element);
584          strbuf_puts(sb, "<input type='submit' value='Search'>\n");          strbuf_sprintf(sb, "<input type='reset' value='Reset'%s>%s\n", empty_element, br);
585          strbuf_sprintf(sb, "<input type='reset' value='Reset'>%s\n", br);          strbuf_sprintf(sb, "<input type='radio' name='type' value='definition' checked title='Retrieve the definition place of the specified symbol.'%s>", empty_element);
         strbuf_puts(sb, "<input type='radio' name='type' value='definition' checked title='Retrieve the definition place of the specified symbol.'>");  
586          strbuf_puts(sb, target ? "Def" : "Definition");          strbuf_puts(sb, target ? "Def" : "Definition");
587          strbuf_puts(sb, "\n<input type='radio' name='type' value='reference' title='Retrieve the reference place of the specified symbol.'>");          strbuf_sprintf(sb, "\n<input type='radio' name='type' value='reference' title='Retrieve the reference place of the specified symbol.'%s>", empty_element);
588          strbuf_puts(sb, target ? "Ref" : "Reference");          strbuf_puts(sb, target ? "Ref" : "Reference");
589          if (test("f", makepath(dbpath, dbname(GSYMS), NULL))) {          if (test("f", makepath(dbpath, dbname(GSYMS), NULL))) {
590                  strbuf_puts(sb, "\n<input type='radio' name='type' value='symbol' title='Retrieve the place of the specified symbol is used.'>");                  strbuf_sprintf(sb, "\n<input type='radio' name='type' value='symbol' title='Retrieve the place of the specified symbol is used.'%s>", empty_element);
591                  strbuf_puts(sb, target ? "Sym" : "Other symbol");                  strbuf_puts(sb, target ? "Sym" : "Other symbol");
592          }          }
593          strbuf_puts(sb, "\n<input type='radio' name='type' value='path' title='Look for path name which matches to the specified pattern.'>");          strbuf_sprintf(sb, "\n<input type='radio' name='type' value='path' title='Look for path name which matches to the specified pattern.'%s>", empty_element);
594          strbuf_puts(sb, target ? "Path" : "Path name");          strbuf_puts(sb, target ? "Path" : "Path name");
595          if (enable_grep) {          if (enable_grep) {
596                  strbuf_puts(sb, "\n<input type='radio' name='type' value='grep' title='Retrieve lines which matches to the specified pattern.'>");                  strbuf_sprintf(sb, "\n<input type='radio' name='type' value='grep' title='Retrieve lines which matches to the specified pattern.'%s>", empty_element);
597                  strbuf_puts(sb, target ? "Grep" : "Grep pattern");                  strbuf_puts(sb, target ? "Grep" : "Grep pattern");
598          }          }
599          if (enable_idutils && test("f", makepath(dbpath, "ID", NULL))) {          if (enable_idutils && test("f", makepath(dbpath, "ID", NULL))) {
600                  strbuf_puts(sb, "\n<input type='radio' name='type' value='idutils' title='Retrieve lines which matches to the specified pattern using idutils(1).'>");                  strbuf_sprintf(sb, "\n<input type='radio' name='type' value='idutils' title='Retrieve lines which matches to the specified pattern using idutils(1).'%s>", empty_element);
601                  strbuf_puts(sb, target ? "Id" : "Id pattern");                  strbuf_puts(sb, target ? "Id" : "Id pattern");
602          }          }
603          strbuf_sprintf(sb, "%s\n<input type='checkbox' name='icase' value='1' title='Ignore case distinctions in the pattern.'>", br);          strbuf_sprintf(sb, "%s\n<input type='checkbox' name='icase' value='1' title='Ignore case distinctions in the pattern.'%s>", br, empty_element);
604          strbuf_puts(sb, target ? "Icase" : "Ignore case");          strbuf_puts(sb, target ? "Icase" : "Ignore case");
605          if (other_files) {          if (other_files) {
606                  strbuf_puts(sb, "\n<input type='checkbox' name='other' value='1' title='Files other than the source code are also retrieved.'>");                  strbuf_sprintf(sb, "\n<input type='checkbox' name='other' value='1' title='Files other than the source code are also retrieved.'%s>", empty_element);
607                  strbuf_puts(sb, target ? "Other" : "Other files");                  strbuf_puts(sb, target ? "Other" : "Other files");
608          }          }
609          strbuf_puts(sb, "\n</form>\n");          strbuf_puts(sb, "\n</form>\n");
# Line 607  makeindex(file, title, index) Line 625  makeindex(file, title, index)
625          char *index;          char *index;
626  {  {
627          FILE *op;          FILE *op;
628            char *name = enable_xhtml ? "id" : "name";
629    
630          op = fopen(makepath(distpath, file, NULL), "w");          op = fopen(makepath(distpath, file, NULL), "w");
631          if (!op)          if (!op)
632                  die("cannot make file '%s'.", file);                  die("cannot make file '%s'.", file);
633            fprintf(op, "%s\n", gen_page_begin(title, 0));
634          if (Fflag) {          if (Fflag) {
                 fprintf(op, "%s\n", html_begin);  
                 fprintf(op, "%s\n", head_begin);  
                 fprintf(op, "<title>%s</title>\n", title);  
                 fprintf(op, "%s", meta_record());  
                 if (style_sheet)  
                         fprintf(op, "%s", style_sheet);  
                 fprintf(op, "%s\n", head_end);  
635                  fprintf(op, "<frameset cols='200,*'>\n");                  fprintf(op, "<frameset cols='200,*'>\n");
636                  if (fflag) {                  if (fflag) {
637                          fprintf(op, "<frameset rows='33%%,33%%,*'>\n");                          fprintf(op, "<frameset rows='33%%,33%%,*'>\n");
638                          fprintf(op, "<frame name='search' src='search.%s'>\n", normal_suffix);                          fprintf(op, "<frame %s='search' src='search.%s'%s>\n", name, normal_suffix, empty_element);
639                  } else {                  } else {
640                          fprintf(op, "<frameset rows='50%%,*'>\n");                          fprintf(op, "<frameset rows='50%%,*'>\n");
641                  }                  }
642                  fprintf(op, "<frame name='defines' src='defines.%s'>\n", normal_suffix);                  /*
643                  fprintf(op, "<frame name='files' src='files.%s'>\n", normal_suffix);                   * id='xxx' for XHTML
644                     * name='xxx' for HTML
645                     */
646                    fprintf(op, "<frame name='defines' id='defines' src='defines.%s'%s>\n", normal_suffix, empty_element);
647                    fprintf(op, "<frame name='files' id='files' src='files.%s'%s>\n", normal_suffix, empty_element);
648                  fprintf(op, "</frameset>\n");                  fprintf(op, "</frameset>\n");
649                  fprintf(op, "<frame name='mains' src='mains.%s'>\n", normal_suffix);                  fprintf(op, "<frame name='mains' id='mains' src='mains.%s'%s>\n", normal_suffix, empty_element);
650                  fprintf(op, "<noframes>\n");                  fprintf(op, "<noframes>\n");
651                  fprintf(op, "%s\n", body_begin);                  fprintf(op, "%s\n", body_begin);
652                  fputs(index, op);                  fputs(index, op);
653                  fprintf(op, "%s\n", body_end);                  fprintf(op, "%s\n", body_end);
654                  fprintf(op, "</noframes>\n");                  fprintf(op, "</noframes>\n");
655                  fprintf(op, "</frameset>\n");                  fprintf(op, "</frameset>\n");
                 fprintf(op, "%s\n", html_end);  
656          } else {          } else {
                 fprintf(op, "%s\n", html_begin);  
                 fprintf(op, "%s", set_header(title));  
657                  fprintf(op, "%s\n", body_begin);                  fprintf(op, "%s\n", body_begin);
658                  fputs(index, op);                  fputs(index, op);
659                  fprintf(op, "%s\n", body_end);                  fprintf(op, "%s\n", body_end);
                 fprintf(op, "%s\n", html_end);  
660          }          }
661            fprintf(op, "%s\n", gen_page_end());
662          fclose(op);          fclose(op);
663          file_count++;          file_count++;
664  }  }
# Line 664  makemainindex(file, index) Line 678  makemainindex(file, index)
678          op = fopen(makepath(distpath, file, NULL), "w");          op = fopen(makepath(distpath, file, NULL), "w");
679          if (!op)          if (!op)
680                  die("cannot make file '%s'.", file);                  die("cannot make file '%s'.", file);
681          fprintf(op, "%s\n", html_begin);          fprintf(op, "%s\n", gen_page_begin(title, 0));
         fprintf(op, "%s", set_header(title));  
682          fprintf(op, "%s\n", body_begin);          fprintf(op, "%s\n", body_begin);
683          fputs(index, op);          fputs(index, op);
684          fprintf(op, "%s\n", body_end);          fprintf(op, "%s\n", body_end);
685          fprintf(op, "%s\n", html_end);          fprintf(op, "%s\n", gen_page_end());
686          fclose(op);          fclose(op);
687          file_count++;          file_count++;
688  }  }
# Line 687  makesearchindex(file) Line 700  makesearchindex(file)
700          op = fopen(makepath(distpath, file, NULL), "w");          op = fopen(makepath(distpath, file, NULL), "w");
701          if (!op)          if (!op)
702                  die("cannot create file '%s'.", file);                  die("cannot create file '%s'.", file);
703          fprintf(op, "%s\n", html_begin);          fprintf(op, "%s\n", gen_page_begin("SEARCH", 0));
         fprintf(op, "%s", set_header("SEARCH"));  
704          fprintf(op, "%s\n", body_begin);          fprintf(op, "%s\n", body_begin);
705          fputs(makesearchpart(action, id, "mains"), op);          fputs(makesearchpart(action, id, "mains"), op);
706          fprintf(op, "%s\n", body_end);          fprintf(op, "%s\n", body_end);
707          fprintf(op, "%s\n", html_end);          fprintf(op, "%s\n", gen_page_end());
708          fclose(op);          fclose(op);
709          file_count++;          file_count++;
710  }  }
# Line 848  makecommonpart(title, defines, files) Line 860  makecommonpart(title, defines, files)
860          strbuf_puts(sb, title);          strbuf_puts(sb, title);
861          strbuf_puts(sb, title_end);          strbuf_puts(sb, title_end);
862          strbuf_putc(sb, '\n');          strbuf_putc(sb, '\n');
863          strbuf_puts(sb, "<div align='right'>\n");          strbuf_puts(sb, gen_div_begin("right"));
864            strbuf_putc(sb, '\n');
865          strbuf_sprintf(sb, "Last updated %s%s\n", now(), br);          strbuf_sprintf(sb, "Last updated %s%s\n", now(), br);
866          strbuf_sprintf(sb, "This hypertext was generated by %sGLOBAL-%s%s.%s\n",          strbuf_sprintf(sb, "This hypertext was generated by %sGLOBAL-%s%s.%s\n",
867                  gen_href_begin_with_title_target(NULL, www, NULL, NULL, "Go to the GLOBAL project page.", "_top"),                  gen_href_begin_with_title_target(NULL, www, NULL, NULL, "Go to the GLOBAL project page.", "_top"),
868                  get_version(),                  get_version(),
869                  gen_href_end(),                  gen_href_end(),
870                  br);                  br);
871          strbuf_puts(sb, "</div>\n");          strbuf_sprintf(sb, "%s\n", gen_div_end());
872          strbuf_sprintf(sb, "%s\n", hr);          strbuf_sprintf(sb, "%s\n", hr);
873          if (caution) {          if (caution) {
874                  strbuf_sprintf(sb, "%s\n", caution_begin);                  strbuf_sprintf(sb, "%s\n", caution_begin);
# Line 1006  configuration(argc, argv) Line 1019  configuration(argc, argv)
1019                                          if (*p++ == '=' && *p)                                          if (*p++ == '=' && *p)
1020                                                  label = p;                                                  label = p;
1021                                  }                                  }
1022                            } else if (!strcmp(argv[i], "--xhtml")) {
1023                                    enable_xhtml = 1;
1024                          }                          }
1025                  }                  }
1026                  if (confpath) {                  if (confpath) {
# Line 1021  configuration(argc, argv) Line 1036  configuration(argc, argv)
1036                          set_env("GTAGSLABEL", label);                          set_env("GTAGSLABEL", label);
1037          }          }
1038          /*          /*
1039             * Setup parts.
1040             */
1041            if (enable_xhtml)
1042                    setup_xhtml();
1043            else
1044                    setup_html();
1045            /*
1046           * Config variables.           * Config variables.
1047           */           */
1048            strbuf_reset(sb);
1049            if (!getconfs("datadir", sb))
1050                    die("cannot get datadir directory name.");
1051            strlimcpy(datadir, strbuf_value(sb), sizeof(datadir));
1052          if (getconfn("ncol", &n)) {          if (getconfn("ncol", &n)) {
1053                  if (n < 1 || n > 10)                  if (n < 1 || n > 10)
1054                          warning("parameter 'ncol' ignored becase the value (=%d) is too large or too small.", n);                          warning("parameter 'ncol' ignored becase the value (=%d) is too large or too small.", n);
# Line 1454  main(argc, argv) Line 1480  main(argc, argv)
1480    
1481          arg_dbpath[0] = 0;          arg_dbpath[0] = 0;
1482          basic_check();          basic_check();
         setup_html();  
1483          configuration(argc, argv);          configuration(argc, argv);
1484          setup_langmap(langmap);          setup_langmap(langmap);
1485          save_environment(argc, argv);          save_environment(argc, argv);
# Line 1485  main(argc, argv) Line 1510  main(argc, argv)
1510                                  ;       /* --gtagslabel is estimated only once. */                                  ;       /* --gtagslabel is estimated only once. */
1511                          else if (!strcmp("style-sheet", long_options[option_index].name))                          else if (!strcmp("style-sheet", long_options[option_index].name))
1512                                  style_sheet = optarg;                                  style_sheet = optarg;
1513                            else if (!strcmp("xhtml", long_options[option_index].name))
1514                                    ;       /* --xhtml is estimated only once. */
1515                          break;                          break;
1516                  case 'a':                  case 'a':
1517                          aflag++;                          aflag++;
# Line 1709  main(argc, argv) Line 1736  main(argc, argv)
1736           *       HTML/S/                 ... source files (9)           *       HTML/S/                 ... source files (9)
1737           *       HTML/I/                 ... include file index (9)           *       HTML/I/                 ... include file index (9)
1738           *       HTML/rebuild.sh         ... rebuild script (10)           *       HTML/rebuild.sh         ... rebuild script (10)
1739             *       HTML/style.css          ... style sheet (11)
1740           *------------------------------------------------------------------           *------------------------------------------------------------------
1741           */           */
1742          /* for clean up */          /* for clean up */
# Line 1908  main(argc, argv) Line 1936  main(argc, argv)
1936          makerebuild("rebuild.sh");          makerebuild("rebuild.sh");
1937          if (chmod(makepath(distpath, "rebuild.sh", NULL), 0640) < 0)          if (chmod(makepath(distpath, "rebuild.sh", NULL), 0640) < 0)
1938                  die("cannot chmod rebuild script.");                  die("cannot chmod rebuild script.");
1939            /*
1940             * (11) style sheet file (style.css)
1941             */
1942            if (enable_xhtml) {
1943                    char src[MAXPATHLEN], dst[MAXPATHLEN];;
1944                    snprintf(src, sizeof(src), "%s/gtags/style.css", datadir);
1945                    snprintf(dst, sizeof(dst), "%s/style.css", distpath);
1946                    copyfile(src, dst);
1947            }
1948          end_all_time = time(NULL);          end_all_time = time(NULL);
1949          message("[%s] Done.", now());          message("[%s] Done.", now());
1950          T_all = end_all_time - start_all_time;          T_all = end_all_time - start_all_time;

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.42

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