9 Commits

Author SHA1 Message Date
ebed228492 Merge pull request 'Fix #1: Build without warnings' (#3) from origin/1-compile-without-warnings into main
All checks were successful
BuildTest / Build and test (push) Successful in 4m0s
Reviewed-on: http://diskstation1.local:10000/mgrettondann/nuweb/pulls/3
2024-03-15 15:39:44 +00:00
59b69355ef Update bootstrap files.
All checks were successful
BuildTest / Build and test (pull_request) Successful in 4m8s
2024-03-15 15:31:49 +00:00
b51c8f7a6e Give all functions a formal prototype.
This makes the code C89 compliant, and removes all warnings on macOS.
2024-03-15 15:31:49 +00:00
88f1603b2d Move definition on Parameters earlier in global.h
We typedef int * to Parmeters in global.h, but not at the same time as
the other typedefs.  This causes problems when we add a function
declaration for write_scrap().

This also highlights a random `1` being passed as the parameter in one
call to write_scrap().  This is obviously wrong, but the purpose of this
fix is to remove warnings - not do a deep dive into what the code is
doing.
2024-03-15 15:31:49 +00:00
b993c46cce Correct prototype of write_tex().
In a reverse of write_html(), write_tex() is declared with three
parameters, but only called with two.

Removing the third parameter is fine as it is unused.
2024-03-15 15:31:49 +00:00
6d436f82a6 Correct calls to write_html()
write_html() is declared as taking two parameters, but the call to it
passes three.

We fix this by dropping the third parameter, which was labelled 'DUMMY'
anyway.
2024-03-15 15:31:49 +00:00
063fdca1ca Fix typo in pull_request workflow
All checks were successful
BuildTest / Build and test (push) Successful in 3m56s
We cannot spell the word "branches"
2024-03-15 15:31:17 +00:00
cead310efc Merge pull request 'And support for Gitea workflow' (#2) from workflows-demo into main
All checks were successful
BuildTest / Build and test (push) Successful in 3m50s
Reviewed-on: http://diskstation1.local:10000/mgrettondann/nuweb/pulls/2
2024-03-15 15:07:41 +00:00
8dd1620936 And support for Gitea workflow
Adds a workflow that will build and test whenever any changes are pushed
to the main branch, or a PR is opened against the main branch.
2024-03-15 15:04:57 +00:00
5 changed files with 48 additions and 15 deletions

View File

@@ -0,0 +1,33 @@
name: "BuildTest"
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
name: "Build and test"
runs-on: ubuntu-latest
steps:
- name: "Install build deps"
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get -y --no-install-recommends install build-essential \
texlive-latex-base texlive-latex-recommended
- name: "Checkout repo"
uses: actions/checkout@v3
- name: "Bootstrap nuweb"
run: make nuweb
- name: "Make nuweb.tex"
run: make nuweb.tex nuwebdoc.tex
- name: "Build again"
run: make nuweb
- name: "Run tests"
run: make check

View File

@@ -183,7 +183,7 @@ extern void write_files(Name *files);
#line 3889 "nuweb.w" #line 3889 "nuweb.w"
extern void source_open(char *name); extern void source_open(char *name);
/* pass in the name of the source file */ /* pass in the name of the source file */
extern int source_get(void); extern int source_get(void);
/* no args; returns the next char or EOF */ /* no args; returns the next char or EOF */
extern int source_last; /* what last source_get() returned. */ extern int source_last; /* what last source_get() returned. */
extern int source_peek; /* The next character to get */ extern int source_peek; /* The next character to get */
@@ -194,7 +194,7 @@ extern void source_ungetc(int*);
#line 4173 "nuweb.w" #line 4173 "nuweb.w"
extern void init_scraps(void); extern void init_scraps(void);
extern int collect_scrap(void); extern int collect_scrap(void);
extern int write_scraps(FILE *file, char *spelling, Scrap_Node *defs, extern int write_scraps(FILE *file, char *spelling, Scrap_Node *defs,
int global_indent, char *indent_chars, int global_indent, char *indent_chars,
char debug_flag, char tab_flag, char indent_flag, char debug_flag, char tab_flag, char indent_flag,
unsigned char comment_flag, Arglist *inArgs, unsigned char comment_flag, Arglist *inArgs,

View File

@@ -461,7 +461,7 @@ void write_tex(char *file_name, char *tex_name)
char * p = label_name; char * p = label_name;
while (c = while (c =
#line 2750 "nuweb.w" #line 2750 "nuweb.w"
source_get(), c != nw_char) /* Here is 151a-01 */ source_get(), c != nw_char) /* Here is 148c-01 */
*p++ = c; *p++ = c;
*p = '\0'; *p = '\0';
c = c =
@@ -761,7 +761,7 @@ static void copy_scrap(FILE *file, int prefix, Name *name)
char * p = label_name; char * p = label_name;
while (c = while (c =
#line 2750 "nuweb.w" #line 2750 "nuweb.w"
source_get(), c != nw_char) /* Here is 151a-01 */ source_get(), c != nw_char) /* Here is 148c-01 */
*p++ = c; *p++ = c;
*p = '\0'; *p = '\0';
c = c =

10
nuweb.w
View File

@@ -3888,7 +3888,7 @@ We need two routines to handle reading the source files.
@d Function pro... @d Function pro...
@{extern void source_open(char *name); @{extern void source_open(char *name);
/* pass in the name of the source file */ /* pass in the name of the source file */
extern int source_get(void); extern int source_get(void);
/* no args; returns the next char or EOF */ /* no args; returns the next char or EOF */
extern int source_last; /* what last source_get() returned. */ extern int source_last; /* what last source_get() returned. */
extern int source_peek; /* The next character to get */ extern int source_peek; /* The next character to get */
@@ -4172,7 +4172,7 @@ int num_scraps(void)
@d Function pro... @d Function pro...
@{extern void init_scraps(void); @{extern void init_scraps(void);
extern int collect_scrap(void); extern int collect_scrap(void);
extern int write_scraps(FILE *file, char *spelling, Scrap_Node *defs, extern int write_scraps(FILE *file, char *spelling, Scrap_Node *defs,
int global_indent, char *indent_chars, int global_indent, char *indent_chars,
char debug_flag, char tab_flag, char indent_flag, char debug_flag, char tab_flag, char indent_flag,
unsigned char comment_flag, Arglist *inArgs, unsigned char comment_flag, Arglist *inArgs,
@@ -4637,8 +4637,8 @@ a->next = next;@}
}@} }@}
@o scraps.c -cc -d @o scraps.c -cc -d
@{int write_scraps(FILE *file, char *spelling, Scrap_Node *defs, @{int write_scraps(FILE *file, char *spelling, Scrap_Node *defs,
int global_indent, char *indent_chars, char debug_flag, int global_indent, char *indent_chars, char debug_flag,
char tab_flag, char indent_flag, char tab_flag, char indent_flag,
unsigned char comment_flag, Arglist *inArgs, unsigned char comment_flag, Arglist *inArgs,
char *inParams[9], Parameters parameters, char *title) char *inParams[9], Parameters parameters, char *title)
@@ -4954,7 +4954,7 @@ comment_ArglistElement(FILE * file, Arglist * args, int quote)
@d Include an embedded scrap in comment @d Include an embedded scrap in comment
@{Embed_Node * e = (Embed_Node *)q; @{Embed_Node * e = (Embed_Node *)q;
fputc('{', file); fputc('{', file);
write_scraps(file, "", e->defs, -1, "", 0, 0, 0, 0, e->args, 0, write_scraps(file, "", e->defs, -1, "", 0, 0, 0, 0, e->args, 0,
(Parameters)1, ""); (Parameters)1, "");
fputc('}', file);@} fputc('}', file);@}

View File

@@ -60,7 +60,7 @@ comment_ArglistElement(FILE * file, Arglist * args, int quote)
#line 4955 "nuweb.w" #line 4955 "nuweb.w"
Embed_Node * e = (Embed_Node *)q; Embed_Node * e = (Embed_Node *)q;
fputc('{', file); fputc('{', file);
write_scraps(file, "", e->defs, -1, "", 0, 0, 0, 0, e->args, 0, write_scraps(file, "", e->defs, -1, "", 0, 0, 0, 0, e->args, 0,
(Parameters)1, ""); (Parameters)1, "");
fputc('}', file); fputc('}', file);
#line 4947 "nuweb.w" #line 4947 "nuweb.w"
@@ -408,7 +408,7 @@ int collect_scrap(void)
char * p = label_name; char * p = label_name;
while (c = while (c =
#line 4388 "nuweb.w" #line 4388 "nuweb.w"
source_get(), c != nw_char) /* Here is 151a-01 */ source_get(), c != nw_char) /* Here is 148c-01 */
*p++ = c; *p++ = c;
*p = '\0'; *p = '\0';
c = c =
@@ -718,8 +718,8 @@ static Arglist *pop_scrap_name(Manager *manager, Parameters *parameters)
} }
#line 4640 "nuweb.w" #line 4640 "nuweb.w"
int write_scraps(FILE *file, char *spelling, Scrap_Node *defs, int write_scraps(FILE *file, char *spelling, Scrap_Node *defs,
int global_indent, char *indent_chars, char debug_flag, int global_indent, char *indent_chars, char debug_flag,
char tab_flag, char indent_flag, char tab_flag, char indent_flag,
unsigned char comment_flag, Arglist *inArgs, unsigned char comment_flag, Arglist *inArgs,
char *inParams[9], Parameters parameters, char *title) char *inParams[9], Parameters parameters, char *title)
@@ -1026,7 +1026,7 @@ int write_scraps(FILE *file, char *spelling, Scrap_Node *defs,
char * p = label_name; char * p = label_name;
while (c = while (c =
#line 4821 "nuweb.w" #line 4821 "nuweb.w"
pop(&reader), c != nw_char) /* Here is 151a-01 */ pop(&reader), c != nw_char) /* Here is 148c-01 */
*p++ = c; *p++ = c;
*p = '\0'; *p = '\0';
c = c =
@@ -2059,7 +2059,7 @@ static int reject_match(Name *name, char post, ArgManager *reader)
if (sym_char(first) && sym_char(prev)) return TRUE; if (sym_char(first) && sym_char(prev)) return TRUE;
if (op_char(last) && op_char(post)) return TRUE; if (op_char(last) && op_char(post)) return TRUE;
if (op_char(first) && op_char(prev)) return TRUE; if (op_char(first) && op_char(prev)) return TRUE;
return FALSE; /* Here is 150b-01 */ return FALSE; /* Here is 148b-01 */
} }
#line 6407 "nuweb.w" #line 6407 "nuweb.w"