![]() Chapter Contents |
![]() Previous |
![]() Next |
| cmsstack |
| Portability: | SAS/C extension |
| SYNOPSIS | |
| DESCRIPTION | |
| RETURN VALUE | |
| CAUTION | |
| USAGE NOTES | |
| EXAMPLE |
| SYNOPSIS |
#include <cmsexec.h> int cmsstack(int order, const char *str, int len);
| DESCRIPTION |
cmsstack
inserts the character array addressed by
str
of length
len
onto the CMS program stack in either last-in-first-out (LIFO) or
first-in-first-out (FIFO) order depending on the value of the
order
argument. (
cmsstack
can be used in any CMS application, not just with function
packages.)
<cmsexec.h>
defines two values for
order
: STK_LIFO and STK_FIFO. If
len
is
0
, then the
character array addressed by
str
is assumed to be null-terminated.
| RETURN VALUE |
cmsstack
returns
0
if the string was inserted or a nonzero value if the string was not inserted.
| CAUTION |
The maximum value of
len
(or if
len
is
0
the maximum
length of the string addressed by
str
) is 255.
| USAGE NOTES |
<cmsexec.h>
also defines two macros based on
cmsstack
. The definitions are shown here, followed
by an example:
/* cmspush */
#define cmspush(s) cmsstack(STK_LIFO, s, 0)
rc = cmspush("This string is stacked LIFO");
/* cmsqueue */
#define cmsqueue(s) cmsstack(STK_FIFO, s, 0)
rc = cmsqueue("This string is stacked FIFO");
| EXAMPLE |
#include <cmsexec.h>
/* Stack the parameter on the program stack in FIFO order. */
int main(int argc, char *argv[])
{
int rc;
if (argc != 2)
exit(8);
rc = cmsstack(STK_FIFO,argv[1],0);
exit(rc == 0 ? 0 : 8);
}
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.