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>2017-12-04 21:24:55 +0300
committerJon Turney <jon.turney@dronecode.org.uk>2017-12-07 14:54:57 +0300
commit06bd0ecc8dc472e3b2c3d54de994c11122559ee2 (patch)
treee6ac7c95bb4a61dfa4590bc9d4d1c61a9a337ae1 /newlib/doc
parentc006fd459f4df832b24e6c7a32228e154a0261ba (diff)
makedoc: exit with non-zero status on error
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Diffstat (limited to 'newlib/doc')
-rw-r--r--newlib/doc/makedoc.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/newlib/doc/makedoc.c b/newlib/doc/makedoc.c
index fdcc5b926..45ddfb81e 100644
--- a/newlib/doc/makedoc.c
+++ b/newlib/doc/makedoc.c
@@ -1113,9 +1113,10 @@ DEFUN(lookup_word,(word),
}
-static void DEFUN_VOID(perform)
+static int DEFUN_VOID(perform)
{
tos = stack;
+ int errors = 0;
while (at(ptr, idx)) {
/* It's worth looking through the command list */
@@ -1140,6 +1141,7 @@ static void DEFUN_VOID(perform)
else
{
fprintf(stderr,"warning, %s is not recognised\n", next);
+ errors++;
skip_past_newline();
}
@@ -1147,6 +1149,7 @@ static void DEFUN_VOID(perform)
else skip_past_newline();
}
+ return errors;
}
dict_type *
@@ -1220,6 +1223,8 @@ DEFUN(compile, (string),
int ret=0;
/* add words to the dictionary */
char *word;
+ dict_type *lookup;
+
string = nextword(string, &word);
while (string && *string && word[0])
{
@@ -1275,7 +1280,9 @@ DEFUN(compile, (string),
break;
default:
add_to_definition(ptr, call);
- add_to_definition(ptr, lookup_word(word));
+ lookup = lookup_word(word);
+ if (!lookup) ret++;
+ add_to_definition(ptr, lookup);
}
string = nextword(string, &word);
@@ -1349,7 +1356,7 @@ int ac AND
char *av[])
{
unsigned int i;
-
+ int status = 0;
string_type buffer;
string_type pptr;
@@ -1410,7 +1417,7 @@ char *av[])
read_in(&b, f);
if( compile(b.ptr) ) { fclose(f); exit(1); }
- perform();
+ status = perform();
fclose(f);
}
else if (av[i][1] == 'i')
@@ -1425,8 +1432,5 @@ char *av[])
}
write_buffer(stack+0);
- return 0;
+ return status;
}
-
-
-