aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--extension/ChangeLog5
-rw-r--r--extension/filefuncs.c8
-rw-r--r--extension/readdir.c8
-rw-r--r--extension/revoutput.c14
-rw-r--r--extension/revtwoway.c9
-rw-r--r--extension/rwarray.c66
-rw-r--r--extension/rwarray0.c60
-rw-r--r--extension/testext.c2
-rw-r--r--gawkapi.h5
10 files changed, 96 insertions, 84 deletions
diff --git a/ChangeLog b/ChangeLog
index 00369398..36af31c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
* regcomp.c, regex.c, regex_internal.h, regexec.c: Sync
with GLIBC. Why not.
+ * gawkapi.c (awk_bool_t): Change into an enum with awk_false and
+ awk_true values.
+
2012-01-30 Andrew J. Schorr <aschorr@telemetry-investments.com>
Further cleanups of macros in awk.h
diff --git a/extension/ChangeLog b/extension/ChangeLog
index ca47bf65..fb5a79e9 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-30 Arnold D. Robbins <arnold@skeeve.com>
+
+ * filefuncs.c readdir.c, revoutput.c, revtwoway.c, rwarray.c,
+ rwarray0.c, testext.c: Use awk_true and awk_false instead of 1 and 0.
+
2012-11-21 Arnold D. Robbins <arnold@skeeve.com>
* filefuncs.c (do_stat): Optional third argument indicates to
diff --git a/extension/filefuncs.c b/extension/filefuncs.c
index c8ef0534..85c05b2e 100644
--- a/extension/filefuncs.c
+++ b/extension/filefuncs.c
@@ -475,7 +475,7 @@ fill_error_element(awk_array_t element_array, const int errcode)
/* fill_default_elements --- fill in stat and path elements */
static void
-fill_default_elements(awk_array_t element_array, const FTSENT *const fentry, int bad_ret)
+fill_default_elements(awk_array_t element_array, const FTSENT *const fentry, awk_bool_t bad_ret)
{
/* full path */
fill_path_element(element_array, fentry->fts_path);
@@ -501,12 +501,12 @@ process(FTS *heirarchy, awk_array_t destarray, int seedot)
FTSENT *fentry;
awk_value_t index, value;
awk_array_t element_array, newdir_array, dot_array;
- int bad_ret = 0;
+ awk_bool_t bad_ret = awk_false;
/* path is full path, pathlen is length thereof */
/* name is name in directory, namelen is length thereof */
while ((fentry = fts_read(heirarchy)) != NULL) {
- bad_ret = 0;
+ bad_ret = awk_false;
switch (fentry->fts_info) {
case FTS_D:
@@ -542,7 +542,7 @@ process(FTS *heirarchy, awk_array_t destarray, int seedot)
case FTS_ERR:
case FTS_NS:
/* error */
- bad_ret = 1;
+ bad_ret = awk_true;
/* fall through */
case FTS_NSOK:
diff --git a/extension/readdir.c b/extension/readdir.c
index 05ac8b90..6aebf091 100644
--- a/extension/readdir.c
+++ b/extension/readdir.c
@@ -171,7 +171,7 @@ static awk_bool_t
dir_can_take_file(const awk_input_buf_t *iobuf)
{
if (iobuf == NULL)
- return 0;
+ return awk_false;
return (iobuf->fd != INVALID_HANDLE && S_ISDIR(iobuf->sbuf.st_mode));
}
@@ -201,7 +201,7 @@ dir_take_control_of(awk_input_buf_t *iobuf)
warning(ext_id, _("dir_take_control_of: opendir/fdopendir failed: %s"),
strerror(errno));
update_ERRNO_int(errno);
- return 0;
+ return awk_false;
}
emalloc(the_dir, open_directory_t *, sizeof(open_directory_t), "dir_take_control_of");
@@ -213,7 +213,7 @@ dir_take_control_of(awk_input_buf_t *iobuf)
iobuf->get_record = dir_get_record;
iobuf->close_func = dir_close;
- return 1;
+ return awk_true;
}
static awk_input_parser_t readdir_parser = {
@@ -242,7 +242,7 @@ init_readdir()
register_input_parser(& readdir_parser2);
#endif
- return 1;
+ return awk_true;
}
static awk_ext_func_t func_table[] = {
diff --git a/extension/revoutput.c b/extension/revoutput.c
index 0366672b..0536627f 100644
--- a/extension/revoutput.c
+++ b/extension/revoutput.c
@@ -79,10 +79,10 @@ revoutput_can_take_file(const awk_output_buf_t *outbuf)
awk_value_t value;
if (outbuf == NULL)
- return 0;
+ return awk_false;
if (! sym_lookup("REVOUT", AWK_NUMBER, & value))
- return 0;
+ return awk_false;
return (value.num_value != 0);
}
@@ -97,11 +97,11 @@ static awk_bool_t
revoutput_take_control_of(awk_output_buf_t *outbuf)
{
if (outbuf == NULL)
- return 0;
+ return awk_false;
outbuf->gawk_fwrite = rev_fwrite;
- outbuf->redirected = 1;
- return 1;
+ outbuf->redirected = awk_true;
+ return awk_true;
}
static awk_output_wrapper_t output_wrapper = {
@@ -124,10 +124,10 @@ init_revoutput()
if (! sym_update("REVOUT", & value)) {
warning(ext_id, _("revoutput: could not initialize REVOUT variable"));
- return 0;
+ return awk_false;
}
- return 1;
+ return awk_true;
}
static awk_ext_func_t func_table[] = {
diff --git a/extension/revtwoway.c b/extension/revtwoway.c
index 0008d634..13f0e778 100644
--- a/extension/revtwoway.c
+++ b/extension/revtwoway.c
@@ -280,7 +280,7 @@ revtwoway_take_control_of(const char *name, awk_input_buf_t *inbuf, awk_output_b
two_way_proc_data_t *proc_data;
if (inbuf == NULL || outbuf == NULL)
- return 0;
+ return awk_false;
emalloc(proc_data, two_way_proc_data_t *, sizeof(two_way_proc_data_t), "revtwoway_take_control_of");
proc_data->in_use = 2;
@@ -304,8 +304,9 @@ revtwoway_take_control_of(const char *name, awk_input_buf_t *inbuf, awk_output_b
outbuf->gawk_fflush = rev2way_fflush;
outbuf->gawk_ferror = rev2way_ferror;
outbuf->gawk_fclose = rev2way_fclose;
- outbuf->redirected = 1;
- return 1;
+ outbuf->redirected = awk_true;
+
+ return awk_true;
}
static awk_two_way_processor_t two_way_processor = {
@@ -324,7 +325,7 @@ init_revtwoway()
max_fds = getdtablesize();
- return 1;
+ return awk_true;
}
static awk_ext_func_t func_table[] = {
diff --git a/extension/rwarray.c b/extension/rwarray.c
index 43118282..cf76f3f0 100644
--- a/extension/rwarray.c
+++ b/extension/rwarray.c
@@ -178,24 +178,24 @@ write_array(FILE *fp, awk_array_t array)
if (! flatten_array(array, & flat_array)) {
fprintf(stderr, _("write_array: could not flatten array\n"));
- return 0;
+ return awk_false;
}
count = htonl(flat_array->count);
if (fwrite(& count, 1, sizeof(count), fp) != sizeof(count))
- return 0;
+ return awk_false;
for (i = 0; i < flat_array->count; i++) {
if (! write_elem(fp, & flat_array->elements[i]))
- return 0;
+ return awk_false;
}
if (! release_flattened_array(array, flat_array)) {
fprintf(stderr, _("write_array: could not release flattened array\n"));
- return 0;
+ return awk_false;
}
- return 1;
+ return awk_true;
}
/* write_elem --- write out a single element */
@@ -208,13 +208,13 @@ write_elem(FILE *fp, awk_element_t *element)
indexval_len = htonl(element->index.str_value.len);
if (fwrite(& indexval_len, 1, sizeof(indexval_len), fp) != sizeof(indexval_len))
- return 0;
+ return awk_false;
if (element->index.str_value.len > 0) {
write_count = fwrite(element->index.str_value.str,
1, element->index.str_value.len, fp);
if (write_count != (ssize_t) element->index.str_value.len)
- return 0;
+ return awk_false;
}
return write_value(fp, & element->value);
@@ -222,7 +222,7 @@ write_elem(FILE *fp, awk_element_t *element)
/* write_value --- write a number or a string or a array */
-static int
+static awk_bool_t
write_value(FILE *fp, awk_value_t *val)
{
uint32_t code, len;
@@ -230,32 +230,32 @@ write_value(FILE *fp, awk_value_t *val)
if (val->val_type == AWK_ARRAY) {
code = htonl(2);
if (fwrite(& code, 1, sizeof(code), fp) != sizeof(code))
- return 0;
+ return awk_false;
return write_array(fp, val->array_cookie);
}
if (val->val_type == AWK_NUMBER) {
code = htonl(1);
if (fwrite(& code, 1, sizeof(code), fp) != sizeof(code))
- return 0;
+ return awk_false;
if (fwrite(& val->num_value, 1, sizeof(val->num_value), fp) != sizeof(val->num_value))
- return 0;
+ return awk_false;
} else {
code = 0;
if (fwrite(& code, 1, sizeof(code), fp) != sizeof(code))
- return 0;
+ return awk_false;
len = htonl(val->str_value.len);
if (fwrite(& len, 1, sizeof(len), fp) != sizeof(len))
- return 0;
+ return awk_false;
if (fwrite(val->str_value.str, 1, val->str_value.len, fp)
!= (ssize_t) val->str_value.len)
- return 0;
+ return awk_false;
}
- return 1;
+ return awk_true;
}
/* do_reada --- read an array */
@@ -358,9 +358,9 @@ read_array(FILE *fp, awk_array_t array)
uint32_t count;
awk_element_t new_elem;
- if (fread(& count, 1, sizeof(count), fp) != sizeof(count)) {
- return 0;
- }
+ if (fread(& count, 1, sizeof(count), fp) != sizeof(count))
+ return awk_false;
+
count = ntohl(count);
for (i = 0; i < count; i++) {
@@ -368,16 +368,16 @@ read_array(FILE *fp, awk_array_t array)
/* add to array */
if (! set_array_element_by_elem(array, & new_elem)) {
fprintf(stderr, _("read_array: set_array_element failed\n"));
- return 0;
+ return awk_false;
}
} else
break;
}
if (i != count)
- return 0;
+ return awk_false;
- return 1;
+ return awk_true;
}
/* read_elem --- read in a single element */
@@ -391,7 +391,7 @@ read_elem(FILE *fp, awk_element_t *element)
ssize_t ret;
if ((ret = fread(& index_len, 1, sizeof(index_len), fp)) != sizeof(index_len)) {
- return 0;
+ return awk_false;
}
index_len = ntohl(index_len);
@@ -407,14 +407,14 @@ read_elem(FILE *fp, awk_element_t *element)
char *cp = realloc(buffer, index_len);
if (cp == NULL)
- return 0;
+ return awk_false;
buffer = cp;
buflen = index_len;
}
if (fread(buffer, 1, index_len, fp) != (ssize_t) index_len) {
- return 0;
+ return awk_false;
}
make_const_string(buffer, index_len, & element->index);
} else {
@@ -422,9 +422,9 @@ read_elem(FILE *fp, awk_element_t *element)
}
if (! read_value(fp, & element->value))
- return 0;
+ return awk_false;
- return 1;
+ return awk_true;
}
/* read_value --- read a number or a string */
@@ -435,15 +435,15 @@ read_value(FILE *fp, awk_value_t *value)
uint32_t code, len;
if (fread(& code, 1, sizeof(code), fp) != sizeof(code))
- return 0;
+ return awk_false;
code = ntohl(code);
if (code == 2) {
awk_array_t array = create_array();
- if (read_array(fp, array) != 0)
- return 0;
+ if (! read_array(fp, array))
+ return awk_false;
/* hook into value */
value->val_type = AWK_ARRAY;
@@ -452,14 +452,14 @@ read_value(FILE *fp, awk_value_t *value)
double d;
if (fread(& d, 1, sizeof(d), fp) != sizeof(d))
- return 0;
+ return awk_false;
/* hook into value */
value->val_type = AWK_NUMBER;
value->num_value = d;
} else {
if (fread(& len, 1, sizeof(len), fp) != sizeof(len)) {
- return 0;
+ return awk_false;
}
len = ntohl(len);
value->val_type = AWK_STRING;
@@ -469,11 +469,11 @@ read_value(FILE *fp, awk_value_t *value)
if (fread(value->str_value.str, 1, len, fp) != (ssize_t) len) {
free(value->str_value.str);
- return 0;
+ return awk_false;
}
}
- return 1;
+ return awk_true;
}
static awk_ext_func_t func_table[] = {
diff --git a/extension/rwarray0.c b/extension/rwarray0.c
index c50c6a38..353fb150 100644
--- a/extension/rwarray0.c
+++ b/extension/rwarray0.c
@@ -167,24 +167,24 @@ write_array(int fd, awk_array_t array)
if (! flatten_array(array, & flat_array)) {
fprintf(stderr, _("write_array: could not flatten array\n"));
- return 0;
+ return awk_false;
}
count = htonl(flat_array->count);
if (write(fd, & count, sizeof(count)) != sizeof(count))
- return 0;
+ return awk_false;
for (i = 0; i < flat_array->count; i++) {
if (! write_elem(fd, & flat_array->elements[i]))
- return 0;
+ return awk_false;
}
if (! release_flattened_array(array, flat_array)) {
fprintf(stderr, _("write_array: could not release flattened array\n"));
- return 0;
+ return awk_false;
}
- return 1;
+ return awk_true;
}
/* write_elem --- write out a single element */
@@ -197,13 +197,13 @@ write_elem(int fd, awk_element_t *element)
indexval_len = htonl(element->index.str_value.len);
if (write(fd, & indexval_len, sizeof(indexval_len)) != sizeof(indexval_len))
- return 0;
+ return awk_false;
if (element->index.str_value.len > 0) {
write_count = write(fd, element->index.str_value.str,
element->index.str_value.len);
if (write_count != (ssize_t) element->index.str_value.len)
- return 0;
+ return awk_false;
}
return write_value(fd, & element->value);
@@ -211,7 +211,7 @@ write_elem(int fd, awk_element_t *element)
/* write_value --- write a number or a string or a array */
-static int
+static awk_bool_t
write_value(int fd, awk_value_t *val)
{
uint32_t code, len;
@@ -219,32 +219,32 @@ write_value(int fd, awk_value_t *val)
if (val->val_type == AWK_ARRAY) {
code = htonl(2);
if (write(fd, & code, sizeof(code)) != sizeof(code))
- return 0;
+ return awk_false;
return write_array(fd, val->array_cookie);
}
if (val->val_type == AWK_NUMBER) {
code = htonl(1);
if (write(fd, & code, sizeof(code)) != sizeof(code))
- return 0;
+ return awk_false;
if (write(fd, & val->num_value, sizeof(val->num_value)) != sizeof(val->num_value))
- return 0;
+ return awk_false;
} else {
code = 0;
if (write(fd, & code, sizeof(code)) != sizeof(code))
- return 0;
+ return awk_false;
len = htonl(val->str_value.len);
if (write(fd, & len, sizeof(len)) != sizeof(len))
- return 0;
+ return awk_false;
if (write(fd, val->str_value.str, val->str_value.len)
!= (ssize_t) val->str_value.len)
- return 0;
+ return awk_false;
}
- return 1;
+ return awk_true;
}
/* do_reada --- read an array */
@@ -347,7 +347,7 @@ read_array(int fd, awk_array_t array)
awk_element_t new_elem;
if (read(fd, & count, sizeof(count)) != sizeof(count)) {
- return 0;
+ return awk_false;
}
count = ntohl(count);
@@ -356,16 +356,16 @@ read_array(int fd, awk_array_t array)
/* add to array */
if (! set_array_element_by_elem(array, & new_elem)) {
fprintf(stderr, _("read_array: set_array_element failed\n"));
- return 0;
+ return awk_false;
}
} else
break;
}
if (i != count)
- return 0;
+ return awk_false;
- return 1;
+ return awk_true;
}
/* read_elem --- read in a single element */
@@ -379,7 +379,7 @@ read_elem(int fd, awk_element_t *element)
ssize_t ret;
if ((ret = read(fd, & index_len, sizeof(index_len))) != sizeof(index_len)) {
- return 0;
+ return awk_false;
}
index_len = ntohl(index_len);
@@ -395,14 +395,14 @@ read_elem(int fd, awk_element_t *element)
char *cp = realloc(buffer, index_len);
if (cp == NULL)
- return 0;
+ return awk_false;
buffer = cp;
buflen = index_len;
}
if (read(fd, buffer, index_len) != (ssize_t) index_len) {
- return 0;
+ return awk_false;
}
make_const_string(buffer, index_len, & element->index);
} else {
@@ -410,9 +410,9 @@ read_elem(int fd, awk_element_t *element)
}
if (! read_value(fd, & element->value))
- return 0;
+ return awk_false;
- return 1;
+ return awk_true;
}
/* read_value --- read a number or a string */
@@ -423,7 +423,7 @@ read_value(int fd, awk_value_t *value)
uint32_t code, len;
if (read(fd, & code, sizeof(code)) != sizeof(code))
- return 0;
+ return awk_false;
code = ntohl(code);
@@ -431,7 +431,7 @@ read_value(int fd, awk_value_t *value)
awk_array_t array = create_array();
if (read_array(fd, array) != 0)
- return 0;
+ return awk_false;
/* hook into value */
value->val_type = AWK_ARRAY;
@@ -440,14 +440,14 @@ read_value(int fd, awk_value_t *value)
double d;
if (read(fd, & d, sizeof(d)) != sizeof(d))
- return 0;
+ return awk_false;
/* hook into value */
value->val_type = AWK_NUMBER;
value->num_value = d;
} else {
if (read(fd, & len, sizeof(len)) != sizeof(len)) {
- return 0;
+ return awk_false;
}
len = ntohl(len);
value->val_type = AWK_STRING;
@@ -457,11 +457,11 @@ read_value(int fd, awk_value_t *value)
if (read(fd, value->str_value.str, len) != (ssize_t) len) {
free(value->str_value.str);
- return 0;
+ return awk_false;
}
}
- return 1;
+ return awk_true;
}
static awk_ext_func_t func_table[] = {
diff --git a/extension/testext.c b/extension/testext.c
index eef62bfe..9367da77 100644
--- a/extension/testext.c
+++ b/extension/testext.c
@@ -819,7 +819,7 @@ BEGIN {
create_new_array();
- return 1;
+ return awk_true;
}
static awk_bool_t (*init_func)(void) = init_testext;
diff --git a/gawkapi.h b/gawkapi.h
index e4dff73c..8fc08161 100644
--- a/gawkapi.h
+++ b/gawkapi.h
@@ -113,7 +113,10 @@ extern "C" {
#define awk_const const
#endif
-typedef int awk_bool_t; /* we don't use <stdbool.h> on purpose */
+typedef enum awk_bool {
+ awk_false = 0,
+ awk_true
+} awk_bool_t; /* we don't use <stdbool.h> on purpose */
/* The information about input files that input parsers need to know: */
typedef struct awk_input {