ksh-devel
Korn Shell development environment
NAME
astsa - standalone libast support
SYNOPSIS
#include <ast.h>
#include <ccode.h>
#include <error.h>
#include <option.h>
#include <stk.h>
DESCRIPTION
MACROS
size_t elementsof(x)
Evaluates to the number of elements in the array variable x.type* newof(void* old, type, size_t elements, size_t extra)
Equivalent to (type*)realloc((char*)old,sizeof(type)*elements+extra) if old!=0 and (type*)calloc(1,sizeof(type)*elements+extra) otherwise.type* oldof(void* old, type, size_t elements, size_t extra)
Equivalent to (type*)realloc((char*)old,sizeof(type)*elements+extra) if old!=0 and (type*)malloc(1,sizeof(type)*elements+extra) otherwise.size_t roundof(x,y)
Evaluates to x rounded up to the next power of 2 boundary y.int ssizeof(x)
Equivalent to (int)sizeof(x).int streq(a,b)
Equivalent to (*(a)==*(b)&&strcmp(a,b)==0).int strneq(a,b,n)
Equivalent to (*(a)==*(b)&&strncmp(a,b,n)==0).FUNCTIONS
void astwinsize(int fd, int* plines, int* pcolumns)
If plines!=0 then *plines is set to the number of lines on the tty device corresponding to fd. If pcolumns!=0 then *pcolumns is set to the number of columns on the tty device corresponding to fd. The default if fd is not a terminal device, or if fd queries fail, is 24 lines and 80 columns.char* fmterror(int errno)
Returns the error message text corresponding to the errno(3) errno.char* strerror(int errno)
Equivalent to fmterror(errno).int strgrpmatch(const char* string, const char* pattern, int* sub, int nsub, int flags)
Matches the null terminated string against the null terminated ksh(1) augmented pattern. If sub!=0 then sub[2*i] is set to the start offset and sub[2*i+1] is set to the end offset of the i-th parenthesized subexpression. nsub is 1/2 the number of elements in sub. flags controls the matching:STR_MAXIMAL: | |
Maximal match. The default is minimal (first) match. | |
STR_LEFT: | |
Implicit left anchor. | |
STR_RIGHT: | |
Implicit right anchor. | |
STR_ICASE: | |
Ignore case. | |
STR_GROUP: | |
(|&) inside [@|*|+{n,m}](...) only. |