mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-24 18:41:57 +00:00
44 lines
1.0 KiB
C
44 lines
1.0 KiB
C
|
/*
|
||
|
File: exprutil.c
|
||
|
Auth: Brian Allen Vanderburg II
|
||
|
Date: Monday, April 28, 2003
|
||
|
Desc: Utility functions for use by this library
|
||
|
|
||
|
This file is part of ExprEval.
|
||
|
*/
|
||
|
|
||
|
/* Include files */
|
||
|
#include "exprincl.h"
|
||
|
|
||
|
#include "exprpriv.h"
|
||
|
|
||
|
|
||
|
/* Return the version number */
|
||
|
void exprGetVersion(int *major, int *minor)
|
||
|
{
|
||
|
*major = EXPR_VERSIONMAJOR;
|
||
|
*minor = EXPR_VERSIONMINOR;
|
||
|
}
|
||
|
|
||
|
/* This utility function determines if an identifier is valid */
|
||
|
int exprValidIdent(char *name)
|
||
|
{
|
||
|
if(name == NULL) /* Null string */
|
||
|
return 0;
|
||
|
|
||
|
/* First must be letter or underscore */
|
||
|
if(isalpha(*name) || *name == '_')
|
||
|
name++; /* Point to next letter */
|
||
|
else
|
||
|
return 0; /* Not letter or underscore, maybe empty*/
|
||
|
|
||
|
/* others can be letter, number, or underscore */
|
||
|
while(isalnum(*name) || *name == '_')
|
||
|
name++;
|
||
|
|
||
|
/* When the while breaks out, we should be at the end */
|
||
|
return (*name == '\0') ? 1 : 0;
|
||
|
}
|
||
|
|
||
|
|