Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2015-11-06 17:40:23 +0300
committerJon Turney <jon.turney@dronecode.org.uk>2015-11-12 15:42:19 +0300
commit1129ef019f10c8c241227f9e787fe6616f74781c (patch)
tree935bcafa5afc092033b7256a0fb459922389d019 /newlib/doc
parent81a7c8c37f9f932ce9969478c618ebf69457e3de (diff)
makedoc: Don't interpret license text as a command
Align makedoc's iscommand() with it's documentation, and don't allow commands to contain a space. A command is a line containing only a sequence of capital letters or '_', followed by optional spaces. This prevents "IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE" (the only line in the license text which consists of only capitals and spaces, without any punctuation) from being interepreted as a makedoc command, leading to: "Can't find IMPLIED" "warning, IMPLIED is not recognised" being emitted by makedoc, (which is normally un-noticed because makedoc's stderr is redirected to a .ref file) 2015-11-06 Jon Turney <jon.turney@dronecode.org.uk> * doc/makedoc.c (iscommand): Only allow commands to have trailing spaces, not space separated words. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Diffstat (limited to 'newlib/doc')
-rw-r--r--newlib/doc/makedoc.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/newlib/doc/makedoc.c b/newlib/doc/makedoc.c
index 718864294..96362f782 100644
--- a/newlib/doc/makedoc.c
+++ b/newlib/doc/makedoc.c
@@ -777,14 +777,18 @@ DEFUN( iscommand,(ptr, idx),
unsigned int idx)
{
unsigned int len = 0;
- while (at(ptr,idx)) {
- if (isupper(at(ptr,idx)) || at(ptr,idx) == ' ' ||
- at(ptr,idx) == '_')
- {
+
+ while (isupper(at(ptr,idx)) || at(ptr,idx) == '_') {
len++;
idx++;
- }
- else if(at(ptr,idx) == '\n')
+ }
+
+ while (at(ptr,idx) == ' ') {
+ len++;
+ idx++;
+ }
+
+ if(at(ptr,idx) == '\n')
{
/* The length check will never fail on a real command
* because the commands are screened as the definitions file
@@ -792,8 +796,7 @@ DEFUN( iscommand,(ptr, idx),
if (len >= MIN_CMDLEN) return 1;
return 0;
}
- else return 0;
- }
+
return 0;
}