mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-25 04:43:33 +00:00
ca1dfc7551
Includes two new tools: texi2any, pod2texi Changelog: http://lists.gnu.org/archive/html/info-gnu/2013-02/msg00006.html
90 lines
3.2 KiB
C
90 lines
3.2 KiB
C
--- install-info/install-info.c.orig 2013-01-07 00:18:56.000000000 +0100
|
|
+++ install-info/install-info.c 2013-02-19 09:15:24.000000000 +0100
|
|
@@ -26,6 +26,7 @@
|
|
#define TAB_WIDTH 8
|
|
|
|
static char *progname = "install-info";
|
|
+static char *default_section = NULL;
|
|
|
|
struct spec_entry;
|
|
struct spec_section;
|
|
@@ -146,6 +147,8 @@ struct option longopts[] =
|
|
{ "calign", required_argument, NULL, 'C'},
|
|
{ "debug", no_argument, NULL, 'g' },
|
|
{ "delete", no_argument, NULL, 'r' },
|
|
+ { "defentry", required_argument, NULL, 'E' },
|
|
+ { "defsection", required_argument, NULL, 'S' },
|
|
{ "dir-file", required_argument, NULL, 'd' },
|
|
{ "entry", required_argument, NULL, 'e' },
|
|
{ "name", required_argument, NULL, 't' },
|
|
@@ -543,6 +546,10 @@ Options:\n\
|
|
--debug report what is being done.\n\
|
|
--delete delete existing entries for INFO-FILE from DIR-FILE;\n\
|
|
don't insert any new entries.\n\
|
|
+ --defentry=TEXT like --entry, but only use TEXT if an entry\n\
|
|
+ is not present in INFO-FILE.\n\
|
|
+ --defsection=TEXT like --section, but only use TEXT if a section\n\
|
|
+ is not present in INFO-FILE.\n\
|
|
--description=TEXT the description of the entry is TEXT; used with\n\
|
|
the --name option to become synonymous with the\n\
|
|
--entry option.\n\
|
|
@@ -1857,6 +1864,8 @@ main (int argc, char *argv[])
|
|
struct spec_entry *entries_to_add = NULL;
|
|
struct spec_entry *entries_to_add_from_file = NULL;
|
|
int n_entries_to_add = 0;
|
|
+ struct spec_entry *default_entries_to_add = NULL;
|
|
+ int n_default_entries_to_add = 0;
|
|
|
|
/* Record the old text of the dir file, as plain characters,
|
|
as lines, and as nodes. */
|
|
@@ -2041,6 +2050,7 @@ main (int argc, char *argv[])
|
|
}
|
|
break;
|
|
|
|
+ case 'E':
|
|
case 'e':
|
|
{
|
|
struct spec_entry *next
|
|
@@ -2055,12 +2065,18 @@ main (int argc, char *argv[])
|
|
next->text_len = olen;
|
|
next->entry_sections = NULL;
|
|
next->entry_sections_tail = NULL;
|
|
- next->next = entries_to_add;
|
|
next->missing_name = 0;
|
|
next->missing_basename = 0;
|
|
next->missing_description = 0;
|
|
- entries_to_add = next;
|
|
- n_entries_to_add++;
|
|
+ if (opt == 'e') {
|
|
+ next->next = entries_to_add;
|
|
+ entries_to_add = next;
|
|
+ n_entries_to_add++;
|
|
+ } else {
|
|
+ next->next = default_entries_to_add;
|
|
+ default_entries_to_add = next;
|
|
+ n_default_entries_to_add++;
|
|
+ }
|
|
}
|
|
break;
|
|
|
|
@@ -2127,6 +2143,10 @@ main (int argc, char *argv[])
|
|
}
|
|
break;
|
|
|
|
+ case 'S':
|
|
+ default_section = optarg;
|
|
+ break;
|
|
+
|
|
case 's':
|
|
{
|
|
struct spec_section *next
|
|
@@ -2315,7 +2335,7 @@ There is NO WARRANTY, to the extent perm
|
|
{
|
|
input_sections = (struct spec_section *)
|
|
xmalloc (sizeof (struct spec_section));
|
|
- input_sections->name = "Miscellaneous";
|
|
+ input_sections->name = default_section ? default_section : "Miscellaneous";
|
|
input_sections->next = NULL;
|
|
input_sections->missing = 1;
|
|
}
|