.\" mtk, 2010-09-09: Noted glibc 2.4 bug, added info on circular
.\" lists, added example program
.\"
-.TH INSQUE 3 2017-05-03 "" "Linux Programmer's Manual"
+.TH INSQUE 3 2019-03-06 "" "Linux Programmer's Manual"
.SH NAME
insque, remque \- insert/remove an item from a queue
.SH SYNOPSIS
defined as:
.PP
.in +4n
-.nf
+.EX
struct qelem {
struct qelem *q_forw;
struct qelem *q_back;
char q_data[1];
};
-.fi
+.EE
.in
.PP
This is still what you will get if
The program below demonstrates the use of
.BR insque ().
Here is an example run of the program:
+.PP
.in +4n
-.nf
-
+.EX
.RB "$ " "./a.out -c a b c"
Traversing completed list:
a
b
c
That was a circular list
-.fi
+.EE
.in
.SS Program source
\&
e = malloc(sizeof(struct element));
if (e == NULL) {
- fprintf(stderr, "malloc() failed\\n");
+ fprintf(stderr, "malloc() failed\en");
exit(EXIT_FAILURE);
}
}
if (errfnd || optind >= argc) {
- fprintf(stderr, "Usage: %s [\-c] string...\\n", argv[0]);
+ fprintf(stderr, "Usage: %s [\-c] string...\en", argv[0]);
exit(EXIT_FAILURE);
}
/* Traverse the list from the start, printing element names */
- printf("Traversing completed list:\\n");
+ printf("Traversing completed list:\en");
elem = first;
do {
- printf(" %s\\n", elem\->name);
+ printf(" %s\en", elem\->name);
elem = elem\->forward;
} while (elem != NULL && elem != first);
if (elem == first)
- printf("That was a circular list\\n");
+ printf("That was a circular list\en");
exit(EXIT_SUCCESS);
}