Commit 8860e991 authored by Ondřej Zajíček's avatar Ondřej Zajíček

Merge branch 'master' into int-new

parents cc5b93f7 c8cafc8e
......@@ -125,7 +125,7 @@ more_end(void)
}
static void
sig_handler(int signal)
sig_handler(int signal UNUSED)
{
cleanup();
exit(0);
......
......@@ -24,7 +24,7 @@ vlog(const char *msg, va_list args)
int n = vsnprintf(buf, sizeof(buf), msg, args);
if (n < 0)
snprintf(buf, sizeof(buf), "???");
if (n >= sizeof(buf))
else if (n >= (int) sizeof(buf))
snprintf(buf + sizeof(buf) - 100, 100, " ... <too long>");
fputs(buf, stderr);
fputc('\n', stderr);
......
......@@ -24,6 +24,7 @@ $(o)cf-lex.c: $(s)cf-lex.l
$(FLEX) $(FLEX_DEBUG) -s -B -8 -Pcf_ -o$@ $<
$(o)cf-lex.o: $(o)cf-parse.tab.h $(o)keywords.h
$(o)cf-lex.o: CFLAGS+=-Wno-sign-compare -Wno-unused-function
$(addprefix $(o), cf-parse.y keywords.h commands.h cf-parse.tab.h cf-parse.tab.c cf-lex.c): $(objdir)/.dir-stamp
......
......@@ -577,7 +577,7 @@ cf_lex_init(int is_cli, struct config *c)
cf_lex_init_kh();
ifs_head = ifs = push_ifs(NULL);
if (!is_cli)
if (!is_cli)
{
ifs->file_name = c->file_name;
ifs->fd = c->file_fd;
......
......@@ -85,7 +85,7 @@ int undo_available; /* Undo was not requested from last reconfiguration */
* further use. Returns a pointer to the structure.
*/
struct config *
config_alloc(byte *name)
config_alloc(const byte *name)
{
pool *p = rp_new(&root_pool, "Config");
linpool *l = lp_new(p, 4080);
......@@ -405,7 +405,7 @@ config_confirm(void)
* if it's been queued due to another reconfiguration being in progress now,
* %CONF_UNQUEUED if a scheduled reconfiguration is removed, %CONF_NOTHING
* if there is no relevant configuration to undo (the previous config request
* was config_undo() too) or %CONF_SHUTDOWN if BIRD is in shutdown mode and
* was config_undo() too) or %CONF_SHUTDOWN if BIRD is in shutdown mode and
* no new configuration changes are accepted.
*/
int
......@@ -450,7 +450,7 @@ config_undo(void)
extern void cmd_reconfig_undo_notify(void);
static void
config_timeout(struct timer *t)
config_timeout(struct timer *t UNUSED)
{
log(L_INFO "Config timeout expired, starting undo");
cmd_reconfig_undo_notify();
......@@ -530,7 +530,7 @@ cf_error(const char *msg, ...)
* and we want to preserve it for further use.
*/
char *
cfg_strdup(char *c)
cfg_strdup(const char *c)
{
int l = strlen(c) + 1;
char *z = cfg_allocu(l);
......
......@@ -20,7 +20,7 @@ struct config {
linpool *mem; /* Linear pool containing configuration data */
list protos; /* Configured protocol instances (struct proto_config) */
list tables; /* Configured routing tables (struct rtable_config) */
list logfiles; /* Configured log fils (sysdep) */
list logfiles; /* Configured log files (sysdep) */
int mrtdump_file; /* Configured MRTDump file (sysdep, fd in unix) */
char *syslog_name; /* Name used for syslog (NULL -> no syslog) */
......@@ -60,7 +60,7 @@ struct config {
extern struct config *config; /* Currently active configuration */
extern struct config *new_config; /* Configuration being parsed */
struct config *config_alloc(byte *name);
struct config *config_alloc(const byte *name);
int config_parse(struct config *);
int cli_parse(struct config *);
void config_free(struct config *);
......@@ -94,7 +94,7 @@ extern linpool *cfg_mem;
#define cfg_alloc(size) lp_alloc(cfg_mem, size)
#define cfg_allocu(size) lp_allocu(cfg_mem, size)
#define cfg_allocz(size) lp_allocz(cfg_mem, size)
char *cfg_strdup(char *c);
char *cfg_strdup(const char *c);
void cfg_copy_list(list *dest, list *src, unsigned node_size);
/* Lexer */
......
......@@ -143,7 +143,7 @@ expr_us:
/* Switches */
bool:
expr {$$ = !!$1; }
expr { $$ = !!$1; }
| ON { $$ = 1; }
| YES { $$ = 1; }
| OFF { $$ = 0; }
......@@ -202,7 +202,7 @@ net_roa4_: net_ip4_ MAX NUM AS NUM
{
$$ = cfg_alloc(sizeof(net_addr_roa4));
net_fill_roa4($$, net4_prefix(&$1), net4_pxlen(&$1), $3, $5);
if ($3 < net4_pxlen(&$1) || $3 > IP4_MAX_PREFIX_LENGTH)
if ($3 < (int) net4_pxlen(&$1) || $3 > IP4_MAX_PREFIX_LENGTH)
cf_error("Invalid max prefix length %d", $3);
};
......@@ -210,7 +210,7 @@ net_roa6_: net_ip6_ MAX NUM AS NUM
{
$$ = cfg_alloc(sizeof(net_addr_roa6));
net_fill_roa6($$, net6_prefix(&$1), net6_pxlen(&$1), $3, $5);
if ($3 < net6_pxlen(&$1) || $3 > IP6_MAX_PREFIX_LENGTH)
if ($3 < (int) net6_pxlen(&$1) || $3 > IP6_MAX_PREFIX_LENGTH)
cf_error("Invalid max prefix length %d", $3);
};
......
......@@ -88,11 +88,13 @@ fi
if test "$bird_cflags_default" = yes ; then
BIRD_CHECK_GCC_OPTION(bird_cv_c_option_wno_pointer_sign, -Wno-pointer-sign, -Wall)
BIRD_CHECK_GCC_OPTION(bird_cv_c_option_wno_missing_init, -Wno-missing-field-initializers, -Wall -Wextra)
BIRD_CHECK_GCC_OPTION(bird_cv_c_option_fno_strict_aliasing, -fno-strict-aliasing)
BIRD_CHECK_GCC_OPTION(bird_cv_c_option_fno_strict_overflow, -fno-strict-overflow)
CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wno-parentheses"
CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes -Wno-parentheses"
BIRD_ADD_GCC_OPTION(bird_cv_c_option_wno_pointer_sign, -Wno-pointer-sign)
BIRD_ADD_GCC_OPTION(bird_cv_c_option_wno_missing_init, -Wno-missing-field-initializers)
BIRD_ADD_GCC_OPTION(bird_cv_c_option_fno_strict_aliasing, -fno-strict-aliasing)
BIRD_ADD_GCC_OPTION(bird_cv_c_option_fno_strict_overflow, -fno-strict-overflow)
fi
......
......@@ -25,6 +25,9 @@ $(o)%.sgml: $(s)%.sgml $(objdir)/.dir-stamp
$(o)%.html: $(o)%.sgml
cd $(dir $@) && $(sgml2)html $(notdir $<)
$(o)%.tex: $(o)%.sgml
cd $(dir $@) && $(sgml2)latex --output=tex $(notdir $<)
$(o)%.dvi: $(o)%.tex
cd $(dir $@) && TEXINPUTS=$(TEXINPUTS):$(doc-srcdir)/tex latex $(notdir $<)
cd $(dir $@) && TEXINPUTS=$(TEXINPUTS):$(doc-srcdir)/tex latex $(notdir $<)
......@@ -32,11 +35,9 @@ $(o)%.dvi: $(o)%.tex
$(o)%.ps: $(o)%.dvi
dvips -D600 -ta4 -o $@ $<
$(o)%.pdf: $(o)%.ps
ps2pdf $< $@
$(o)%.tex: $(o)%.sgml
cd $(dir $@) && $(sgml2)latex --output=tex $(notdir $<)
$(o)%.pdf: $(o)%.tex
pdflatex -output-directory=$(dir $@) $<
pdflatex -output-directory=$(dir $@) $<
$(o)%.txt: $(o)%.sgml
cd $(dir $@) && $(sgml2)txt $(notdir $<)
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,7 +6,7 @@
% Based on qwertz replacement file by Tom Gordon
% linuxdoc mods by mdw
% Groff dependencies are few. To port to another roff:
% Groff dependencies are few. To port to another roff:
% 1. Check and modify, if necessary, font changes. (e.g. In psroff the
% same fonts have other names.)
% 2. Check the code for including Encapsulated PostScript, generated
......@@ -19,13 +19,13 @@
% Hacked by mdw
".nr PI 3n\n"
".ds CF \\\\n\%\n"
".ds CF \\\\n\%\n"
".ds CH \\&\n"
".ds dR $\n" % dollar, to avoid EQN conflicts
% Start with no TOC
".ds printtoc\n"
% Footnote style
".nr FF 1\n"
......@@ -51,16 +51,16 @@
".nr HM 0i\n"
".nr FM 0i\n"
% Turn off right-margin filling
% Turn off right-margin filling
".na\n"
% h is 1 if first paragraph after heading
".nr h 0\n"
".nr h 0\n"
% initialize heading level
".nr il 1\n"
".nr il 1\n"
% Number registers for list
......@@ -68,20 +68,20 @@
".nr ll 0\n" % list level, stores current level
".nr el 0\n" % current enumeration level
% Not all list levels are enumerations, as
% Not all list levels are enumerations, as
% itemizations can be embedded within enumerations
% and vice versa
% type of list level is in \n(t\n(ll, where
% 0 : itemize, 1 : enumerate, 2: description
% enumerator for an enumeration level is in
% \n(e\n(el -- i.e. \n(e1=2 means current item of
% enumeration level 1 is 2
% context-sensitive paragraph macro
% Bug: There's some problem using this to re-start paragraphs after the
% Bug: There's some problem using this to re-start paragraphs after the
% </verb> and </code>, so after verb and code I insert .LP. That's fine
% except that is loses indentation when using verb or code inside of a list.
......@@ -95,21 +95,21 @@
% for this enumeration level
".if \\\\n(t\\\\n(ll=1 \\{.IP \\\\n+(e\\\\n(el.\\}\n"
% if first par element of descrip, do nothing
".\\}\n"
".\\}\n"
".el .sp \n" % subsequent par element of item
".\\}\n"
".el \\{\\\n" % not within list
".ie \\\\nh=1 \\{\\\n" % first par after heading
".LP\n"
".ie \\\\nh=1 \\{\\\n" % first par after heading
".LP\n"
".nr h 0\n" % reset h flag
".\\}\n"
".\\}\n"
".el .LP \n" % Changed from .PP, mdw
".\\}\n"
".nh\n"
"..\n"
"..\n"
% for each level, a number register is created
% to store its type and current item number, where
% -1=bullet of an itemized list.
......@@ -141,7 +141,7 @@
% set initial level of headings, in register il
<article> + ".nr il 0" +
</article> + ".if '\\*[printtoc]'true' .PX\n"
</article> + ".if '\\*[printtoc]'true' .PX\n"
<report> + ".nr il 1" +
</report> + ".bp\n"
......@@ -153,23 +153,23 @@
".bp\n"
".TC" +
<notes>
<notes>
</notes>
<manpage> + ".nr il -1" +
</manpage>
</manpage>
<progdoc>
</progdoc>
% Hacked up titlepag stuff to look more reasonable. Titles and author
% names are now stored in strings, printed by the end of </titlepag>.
% Wake up! This uses groff-like long string names. You must use groff
% Wake up! This uses groff-like long string names. You must use groff
% to format this.
<titlepag> + ".ds mdwtitle\n"
".ds mdwsubtitle\n"
".ds mdwdate\n"
".ds mdwdate\n"
".de printabstract\n"
"..\n" +
</titlepag> + "\\*[mdwtitle]\n"
......@@ -181,10 +181,10 @@
"\\*[mdwdate]\n"
".br\n"
".printabstract\n"
".br\n"
".br\n"
%<title> + ".TL" +
%</title>
%</title>
<title> + ".ds mdwtitle "
</title> +
......@@ -194,13 +194,13 @@
% ".SM" +
%</subtitle> + ".LG" +
<subtitle> + ".ds mdwsubtitle "
<subtitle> + ".ds mdwsubtitle "
</subtitle> +
<date> + ".ds mdwdate "
<date> + ".ds mdwdate "
</date> +
<abstract> + ".de printabstract\n"
<abstract> + ".de printabstract\n"
".LP\n"
</abstract> + ".." +
......@@ -215,10 +215,10 @@
<name> + ".br" +
</name>
<and>
<and>
</and>
<thanks> "\\**\n"
<thanks> "\\**\n"
".FS" +
</thanks> + ".FE" +
......@@ -229,11 +229,11 @@
<newline> + ".br"
</newline>
<label>
</label>
<label>
</label>
<header>
</header>
<header>
</header>
<lhead> + ".EH '"
</lhead> "'''" +
......@@ -263,13 +263,13 @@
<toc>
</toc>
<lof>
<lof>
</lof>
<lot>
<lot>
</lot>
<chapt> + ".bp\n"
<chapt> + ".bp\n"
".NH \\n(il " +
</chapt>
......@@ -283,7 +283,7 @@
</sect2>
<sect3> + ".NH 4+\\n(il" +
</sect3>
</sect3>
<sect4> + ".NH 5+\\n(il" +
</sect4>
......@@ -292,10 +292,10 @@
</heading> + "\\*h\n"
".XS \\n%\n"
"\\*(SN \\*h\n"
".XE\n"
".XE\n"
".nr h 1\n" % set heading flag to true
<p> + ".Pp" +
<p> + ".Pp" +
</p>
<itemize> + ".nr ll +1\n" % increment list level
......@@ -309,9 +309,9 @@
".af e\\n(el \\*(f\\n(el\n" % style of enumerator
".if \\n(ll>1 .RS" +
</enum> + ".if \\n(ll>1 .RE\n"
".br\n"
".br\n"
".nr el -1\n" % decrement enumeration level
".nr ll -1\n" % decrement list level
".nr ll -1\n" % decrement list level
<descrip> + ".RS\n"
".nr ll +1\n" % increment list level
......@@ -324,7 +324,7 @@
% If bi=1 then the paragraph is the first one of the item.
<item> + ".nr bi 1\n.Pp" +
</item>
</item>
<tag> + ".IP \"\\fB"
</tag> "\\fR\"\n"
......@@ -337,12 +337,12 @@
</cf> ""
<cite> + ".\[\n[ID]\n.\]" +
</cite>
</cite>
<ncite> + ".\[\n[ID]\n.\]\n([NOTE])"
</ncite>
<footnote> " (-- "
<footnote> " (-- "
</footnote> "--)" +
<sq> "\\*Q"
......@@ -353,20 +353,20 @@
</lq> + ".nr LL \\n(LL+\\n(PI\n"
".RE" +
<em> "\\fI"
</em> "\\fP"
<em> "\\fI"
</em> "\\fP"
<bf> "\\fB"
</bf> "\\fR"
<bf> "\\fB"
</bf> "\\fR"
<it> "\\fI"
</it> "\\fR"
<it> "\\fI"
</it> "\\fR"
<sf> "\\fR"
</sf> "\\fR"
<sf> "\\fR"
</sf> "\\fR"
<sl> "\\fI"
</sl> "\\fR"
<sl> "\\fI"
</sl> "\\fR"
% Changed by mdw
<tt> "\\fC"
......@@ -394,10 +394,10 @@
<pageref> "??"
</pageref>
<x>
<x>
</x>
<mc>
<mc>
</mc>
<biblio> + ".\[\n"
......@@ -423,7 +423,7 @@
% ".Pp" + % continue previous paragraph (changed mdw)
".LP"
% tscreen added by mdw
% tscreen added by mdw
<tscreen> + ".br\n"
".po 0.75i\n"
".ll 6.0i\n"
......@@ -487,8 +487,8 @@
% mathematics -- this nroff version needs work.
<f>
</f>
<f>
</f>
<dm> + ".DS L" +
</dm> + ".DE" +
......@@ -496,8 +496,8 @@
<eq> + ".DS L" +
</eq> + ".DE" +
<fr>
</fr>
<fr>
</fr>
<nu> "{"
</nu> "} over "
......@@ -505,7 +505,7 @@
<de> "{"
</de> "}"
<lim>
<lim>
</lim>
<op>
......@@ -527,7 +527,7 @@
</in>
<sum> " sum "
</sum>
</sum>
% limitation: eqn only does square roots!
......@@ -539,7 +539,7 @@
"[ca]." +
</ar> + ".TE" +
<arr> "\n"
<arr> "\n"
</arr>
<arc> "|"
......@@ -567,8 +567,8 @@
% limitation: no calligraphic characters, using helvetica italics instead. Is there a better font?
<fi> "\\fI"
</fi> "\\fP"
<fi> "\\fI"
</fi> "\\fP"
<phr> " roman }"
</phr> "}"
......@@ -584,12 +584,12 @@
<eps> + ".if t .PSPIC [file].ps\n"
".if n .sp 4" +
</eps>
</eps>
% Are TeX units properly handled by this translation of ph?
<ph> + ".sp [VSPACE]" +
</ph>
</ph>
<caption> + ".sp\n.ce" +
</caption>
......@@ -619,7 +619,7 @@
<slides> + ".nr PS 18" +
</slides>
<slide>
<slide>
</slide> + ".bp\n\\&" +
% letters -- replacement for email, using mh format.
......
......@@ -21,7 +21,7 @@
</notes> + "<@@enddoc>" +
% Manual Pages are expected to be formatted using nroff (or groff), unless
% they are included as sections of other qwertz documents.
% they are included as sections of other qwertz documents.
<manpage>
</manpage>
......@@ -35,7 +35,7 @@
<title> + "<@@title>"
</title>
<subtitle> + "<H2>"
<subtitle> + "<H2>"
</subtitle> "</H2>" +
<author>
......@@ -48,26 +48,27 @@
</and>
<thanks> + "Thanks "
</thanks>
</thanks>
<inst> + "<H3>"
</inst> "</H3>" +
<newline> "<BR>"
<label> + "<@@label>[ID]" +
<header>
</header>
</label>
<header>
</header>
<lhead> + "<!-- "
</lhead> " -->" +
</lhead> " -->" +
<rhead> + "<!-- "
</rhead> " -->" +
<comment> + "<H4>Comment</H4>" +
</comment>
</comment>
<abstract> + "<P><HR>\n<EM>"
</abstract> "</EM>\n<HR>" +
......@@ -99,7 +100,7 @@
<sect3> + "<@@head>"
</sect3>
<sect4> + "<@@head>"
<sect4> + "<@@head>"
</sect4>
<heading>
......@@ -134,6 +135,9 @@
<ncite> "[<I>[NOTE] ([ID])</I>]"
</ncite>
<file> "<CODE>"
</file> "</CODE>"
<footnote> + "<BLOCKQUOTE>"
</footnote> "</BLOCKQUOTE>" +
......@@ -198,12 +202,14 @@
"<@@endurl>" +
</url>
<htmlurl> + "<@@url>[URL]\n"
"[NAME]</A>\n"
"<@@endurl>" +
<htmlurl> "<A HREF=\"[URL]\">[NAME]</A>"
</htmlurl>
% ref modified to have an optional name field
<rfc> "<A HREF=\"http://www.rfc-editor.org/info/rfc[ID]\">RFC [ID]</A>"
</rfc>
% ref modified to have an optional name field
<ref> + "<@@ref>[ID]\n"
"[NAME]</A>\n"
"<@@endref>" +
......@@ -228,7 +234,7 @@
</mc> "</MC>"
<biblio> + "<BIBLIO STYLE=\"[STYLE]\" FILES=\"[FILES]\">" +
</biblio>
</biblio>
<code> + "<HR>\n<PRE>" +
</code> + "</PRE>\n<HR>" +
......@@ -244,28 +250,28 @@
% theorems and such
<def> + "<DEF>"
<def> + "<DEF>"
</def> + "</DEF>" +
<prop> + "<PROP>"
<prop> + "<PROP>"
</prop> + "</PROP>" +
<lemma> + "<LEMMA>"
<lemma> + "<LEMMA>"
</lemma> + "</LEMMA>" +
<coroll> + "<COROLL>"
<coroll> + "<COROLL>"
</coroll> + "</COROLL>" +
<proof> + "<PROOF>"
<proof> + "<PROOF>"
</proof> + "</PROOF>" +
<theorem> + "<THEOREM>"
<theorem> + "<THEOREM>"
</theorem> + "</THEOREM>" +
<thtag> "<THTAG>"
</thtag> "</THTAG>"
% mathematics
% mathematics
<f>
</f>
......@@ -315,11 +321,11 @@
<ar> "<AR>"
</ar> "</AR>"
<arr> "<ARR>"
</arr>
<arr> "<ARR>"
</arr>
<arc> "<ARC>"
</arc>
</arc>
<sup> "<SUP>"
</sup> "</SUP>"
......@@ -354,13 +360,13 @@
</figure> + "</FIGURE>" +
<eps> + "<EPS FILE=\"[FILE]\">" +
</eps>
</eps>
<img> + "<IMG SRC=\"[SRC]\">" +
</img>
<ph> + "<PH VSPACE=\"[VSPACE]\">" +
</ph>
</ph>
<caption> + "<CAPTION>"
</caption> "</CAPTION>" +
......@@ -403,7 +409,7 @@
</opening> "</OPENING>" +
<from> + "<FROM>"
<from> + "<FROM>"
</from> + "</FROM>" +
......@@ -419,7 +425,7 @@
<email> + "<EMAIL>"
</email> "</EMAIL>" +
<phone> + "<PHONE>"
<phone> + "<PHONE>"
</phone> "</PHONE>" +
......@@ -430,16 +436,16 @@
</subject> "</SUBJECT>" +
<sref> + "<SREF>"
<sref> + "<SREF>"
</sref> "</SREF>" +
<rref> + "<RREF>"
<rref> + "<RREF>"