本文整理汇总了C++中ejsCreateStringFromAsc函数的典型用法代码示例。如果您正苦于以下问题:C++ ejsCreateStringFromAsc函数的具体用法?C++ ejsCreateStringFromAsc怎么用?C++ ejsCreateStringFromAsc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ejsCreateStringFromAsc函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: components
/*
Break a uri into components
function components(): Object
*/
static EjsObj *uri_components(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv)
{
EjsObj *obj;
HttpUri *uri;
uri = up->uri;
obj = ejsCreateEmptyPot(ejs);
if (uri->scheme) {
ejsSetPropertyByName(ejs, obj, EN("scheme"), ejsCreateStringFromAsc(ejs, uri->scheme));
}
if (uri->host) {
ejsSetPropertyByName(ejs, obj, EN("host"), ejsCreateStringFromAsc(ejs, uri->host));
}
if (uri->port > 0) {
ejsSetPropertyByName(ejs, obj, EN("port"), ejsCreateNumber(ejs, uri->port));
}
if (uri->path) {
ejsSetPropertyByName(ejs, obj, EN("path"), ejsCreateStringFromAsc(ejs, uri->path));
}
if (uri->reference) {
ejsSetPropertyByName(ejs, obj, EN("reference"), ejsCreateStringFromAsc(ejs, uri->reference));
}
if (uri->query) {
ejsSetPropertyByName(ejs, obj, EN("query"), ejsCreateStringFromAsc(ejs, uri->query));
}
return obj;
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:33,代码来源:ejsUri.c
示例2: assert
static EjsAny *createException(Ejs *ejs, EjsType *type, cchar* fmt, va_list fmtArgs)
{
EjsError *error;
EjsAny *argv[1];
char *msg;
assert(type);
#if ME_DEBUG
/* Breakpoint opportunity */
if (!ejs->empty) {
mprNop(0);
}
#endif
msg = sfmtv(fmt, fmtArgs);
argv[0] = ejsCreateStringFromAsc(ejs, msg);
if (argv[0] == 0) {
assert(argv[0]);
return 0;
}
if (EST(Error)->constructor.body.proc) {
error = (EjsError*) ejsCreateInstance(ejs, type, 1, argv);
} else {
error = ejsCreatePot(ejs, type, 0);
ejsSetProperty(ejs, error, ES_Error_message, ejsCreateStringFromAsc(ejs, msg));
}
return error;
}
开发者ID:embedthis,项目名称:ejscript,代码行数:28,代码来源:ejsException.c
示例3: statusMessage
/*
function get statusMessage(): String
*/
static EjsString *http_statusMessage(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv)
{
HttpConn *conn;
if (!waitForResponseHeaders(hp)) {
return 0;
}
conn = hp->conn;
if (conn->errorMsg) {
return ejsCreateStringFromAsc(ejs, conn->errorMsg);
}
return ejsCreateStringFromAsc(ejs, httpGetStatusMessage(hp->conn));
}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:16,代码来源:ejsHttp.c
示例4: switch
static EjsAny *coerceUriOperands(Ejs *ejs, EjsUri *lhs, int opcode, EjsAny *rhs)
{
HttpUri *uri;
char *ustr;
switch (opcode) {
/*
Binary operators
*/
case EJS_OP_ADD:
uri = lhs->uri;
ustr = httpFormatUri(uri->scheme, uri->host, uri->port, uri->path, uri->reference, uri->query, 0);
return ejsInvokeOperator(ejs, ejsCreateStringFromAsc(ejs, ustr), opcode, rhs);
case EJS_OP_COMPARE_EQ: case EJS_OP_COMPARE_NE:
case EJS_OP_COMPARE_LE: case EJS_OP_COMPARE_LT:
case EJS_OP_COMPARE_GE: case EJS_OP_COMPARE_GT:
if (!ejsIsDefined(ejs, rhs)) {
return ((opcode == EJS_OP_COMPARE_EQ) ? ESV(false): ESV(true));
}
uri = lhs->uri;
ustr = httpFormatUri(uri->scheme, uri->host, uri->port, uri->path, uri->reference, uri->query, 0);
return ejsInvokeOperator(ejs, ejsCreateStringFromAsc(ejs, ustr), opcode, rhs);
case EJS_OP_COMPARE_STRICTLY_NE:
return ESV(true);
case EJS_OP_COMPARE_STRICTLY_EQ:
return ESV(false);
case EJS_OP_COMPARE_NOT_ZERO:
case EJS_OP_COMPARE_TRUE:
return ESV(true);
case EJS_OP_COMPARE_ZERO:
case EJS_OP_COMPARE_FALSE:
return ESV(false);
case EJS_OP_COMPARE_UNDEFINED:
case EJS_OP_COMPARE_NULL:
return ESV(false);
default:
ejsThrowTypeError(ejs, "Opcode %d not valid for type %@", opcode, TYPE(lhs)->qname.name);
return ESV(undefined);
}
return 0;
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:48,代码来源:ejsUri.c
示例5: toString
/*
Convert the array to a single string each member of the array has toString called on it and the resulting strings
are concatenated.
override function toString(): String
*/
static EjsString *arrayToString(Ejs *ejs, EjsArray *ap, int argc, EjsObj **argv)
{
EjsString *result, *comma;
EjsObj *vp;
int i, rc;
result = ESV(empty);
if (result == 0) {
ejsThrowMemoryError(ejs);
return 0;
}
comma = ejsCreateStringFromAsc(ejs, ",");
for (i = 0; i < ap->length; i++) {
vp = ap->data[i];
rc = 0;
if (i > 0) {
result = ejsJoinString(ejs, result, comma);
}
if (ejsIsDefined(ejs, vp)) {
result = ejsJoinString(ejs, result, ejsToString(ejs, vp));
}
if (rc < 0) {
ejsThrowMemoryError(ejs);
return 0;
}
}
return result;
}
开发者ID:leemit,项目名称:ejscript,代码行数:34,代码来源:ejsArray.c
示例6: escapeHtml
/*
HTML escape a string
function escapeHtml(str: String): String
*/
static EjsObj *web_escapeHtml(Ejs *ejs, EjsObj *unused, int argc, EjsObj **argv)
{
EjsString *str;
str = (EjsString*) argv[0];
return (EjsObj*) ejsCreateStringFromAsc(ejs, mprEscapeHtml(str->value));
}
开发者ID:embedthis,项目名称:ejscript,代码行数:11,代码来源:ejsWeb.c
示例7: toLocalString
/*
function toLocalString(): String
*/
static EjsString *uri_toLocalString(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv)
{
HttpUri *uri;
uri = up->uri;
return ejsCreateStringFromAsc(ejs, httpFormatUri(NULL, NULL, 0, uri->path, uri->reference, uri->query, 0));
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:10,代码来源:ejsUri.c
示例8: toString
/*
function toString(): String
*/
static EjsString *uri_toString(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv)
{
HttpUri *uri;
uri = up->uri;
return ejsCreateStringFromAsc(ejs, httpUriToString(uri, 0));
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:10,代码来源:ejsUri.c
示例9: query
/*
Get the query portion
static function get query(): String?
*/
static EjsString *uri_query(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv)
{
if (up->uri->query == 0) {
return ESV(null);
}
return ejsCreateStringFromAsc(ejs, up->uri->query);
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:11,代码来源:ejsUri.c
示例10: key
/*
function get key(): String
*/
static EjsAny *http_key(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv)
{
if (hp->keyFile) {
return ejsCreateStringFromAsc(ejs, hp->keyFile);
}
return ESV(null);
}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:10,代码来源:ejsHttp.c
示例11: mimeType
/*
Get the mimeType
function mimeType(): String?
*/
static EjsString *uri_mimeType(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv)
{
if (up->uri->ext == 0) {
return ESV(null);
}
return ejsCreateStringFromAsc(ejs, mprLookupMime(NULL, up->uri->ext));
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:11,代码来源:ejsUri.c
示例12: extension
/*
Get the Uri extension
static function get extension(): String?
*/
static EjsString *uri_extension(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv)
{
if (up->uri->ext == 0) {
return ESV(null);
}
return ejsCreateStringFromAsc(ejs, up->uri->ext);
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:11,代码来源:ejsUri.c
示例13: component
/*
Encode a Uri component (ECMA Standard)
static function encodeComponent(str: String): String
*/
static EjsObj *encodeURIComponent(Ejs *ejs, EjsObj *unused, int argc, EjsObj **argv)
{
char *encoded;
encoded = mprUriEncode(ejsToMulti(ejs, argv[0]), MPR_ENCODE_JS_URI_COMPONENT);
return (EjsObj*) ejsCreateStringFromAsc(ejs, encoded);
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:11,代码来源:ejsUri.c
示例14: ejsCreateArrayType
PUBLIC void ejsCreateArrayType(Ejs *ejs)
{
EjsType *type;
EjsHelpers *helpers;
type = ejsCreateCoreType(ejs, N("ejs", "Array"), sizeof(EjsArray), S_Array, ES_Array_NUM_CLASS_PROP, manageArray,
EJS_TYPE_POT | EJS_TYPE_NUMERIC_INDICIES | EJS_TYPE_VIRTUAL_SLOTS | EJS_TYPE_MUTABLE_INSTANCES |
EJS_TYPE_DYNAMIC_INSTANCES);
helpers = &type->helpers;
helpers->cast = (EjsCastHelper) castArray;
helpers->clone = (EjsCloneHelper) ejsCloneArray;
helpers->create = (EjsCreateHelper) createArray;
helpers->getProperty = (EjsGetPropertyHelper) getArrayProperty;
helpers->getPropertyCount = (EjsGetPropertyCountHelper) getArrayPropertyCount;
helpers->getPropertyByName = (EjsGetPropertyByNameHelper) getArrayPropertyByName;
helpers->deleteProperty = (EjsDeletePropertyHelper) deleteArrayProperty;
helpers->deletePropertyByName = (EjsDeletePropertyByNameHelper) deleteArrayPropertyByName;
helpers->invokeOperator = (EjsInvokeOperatorHelper) invokeArrayOperator;
helpers->lookupProperty = (EjsLookupPropertyHelper) lookupArrayProperty;
helpers->setProperty = (EjsSetPropertyHelper) setArrayProperty;
helpers->setPropertyByName = (EjsSetPropertyByNameHelper) setArrayPropertyByName;
ejsAddImmutable(ejs, S_length, EN("length"), ejsCreateStringFromAsc(ejs, "length"));
}
开发者ID:leemit,项目名称:ejscript,代码行数:25,代码来源:ejsArray.c
示例15: name
/*
function get name(): String
*/
static EjsString *hs_name(Ejs *ejs, EjsHttpServer *sp, int argc, EjsObj **argv)
{
if (sp->name) {
return ejsCreateStringFromAsc(ejs, sp->name);
}
return ESV(null);
}
开发者ID:embedthis,项目名称:ejs.web,代码行数:10,代码来源:ejsHttpServer.c
示例16: scheme
/*
Get the scheme portion
static function get scheme(): String?
*/
static EjsString *uri_scheme(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv)
{
if (up->uri->scheme == 0) {
return ESV(null);
}
return ejsCreateStringFromAsc(ejs, up->uri->scheme);
}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:11,代码来源:ejsUri.c
示例17: certificate
/*
function get certificate(): String
*/
static EjsString *http_certificate(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv)
{
if (hp->certFile) {
return ejsCreateStringFromAsc(ejs, hp->certFile);
}
return ESV(null);
}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:10,代码来源:ejsHttp.c
示例18: ejsCreateStringFromAsc
static EjsString *mapSpace(Ejs *ejs, EjsString *space)
{
if (ejsContainsAsc(ejs, space, "internal-") != 0) {
return ejsCreateStringFromAsc(ejs, "internal");
}
return space;
}
开发者ID:varphone,项目名称:ejs-2,代码行数:7,代码来源:listing.c
示例19: process
static int process(EjsMod *mp, cchar *output, int argc, char **argv)
{
Ejs *ejs;
EjsModule *module;
MprFile *outfile;
MprList *depends;
int count, i, next, moduleCount;
ejs = mp->ejs;
if (output) {
outfile = mprOpenFile(output, O_CREAT | O_WRONLY | O_TRUNC | O_BINARY, 0664);
} else {
outfile = 0;
}
ejs->loaderCallback = (mp->listing) ? emListingLoadCallback : 0;
mp->firstGlobal = ejsGetLength(ejs, ejs->global);
/*
For each module on the command line
*/
for (i = 0; i < argc && !mp->fatalError; i++) {
moduleCount = mprGetListLength(ejs->modules);
ejs->loadData = mp;
if (!mprPathExists(argv[i], R_OK)) {
mprError("Can't access module %s", argv[i]);
return EJS_ERR;
}
if ((ejsLoadModule(ejs, ejsCreateStringFromAsc(ejs, argv[i]), -1, -1, EJS_LOADER_NO_INIT)) < 0) {
ejs->loaderCallback = NULL;
mprError("Can't load module %s\n%s", argv[i], ejsGetErrorMsg(ejs, 0));
return EJS_ERR;
}
if (mp->genSlots) {
for (next = moduleCount; (module = mprGetNextItem(ejs->modules, &next)) != 0; ) {
emCreateSlotFiles(mp, module, outfile);
}
}
if (mp->depends) {
depends = mprCreateList(-1, 0);
for (next = moduleCount; (module = mprGetNextItem(ejs->modules, &next)) != 0; ) {
getDepends(ejs, depends, module);
}
count = mprGetListLength(depends);
for (next = 1; (module = mprGetNextItem(depends, &next)) != 0; ) {
int version = module->version;
mprPrintf("%@-%d.%d.%d%s", module->name, EJS_MAJOR(version), EJS_MINOR(version), EJS_PATCH(version),
(next >= count) ? "" : " ");
}
printf("\n");
}
}
if (mp->html || mp->xml) {
emCreateDoc(mp);
}
mprCloseFile(outfile);
return 0;
}
开发者ID:varphone,项目名称:ejs-2,代码行数:58,代码来源:ejsmod.c
示例20: ejsCreateEmptyPot
static EjsObj *getFileOptions(Ejs *ejs, EjsFile *fp, int argc, EjsObj **argv)
{
EjsObj *options;
options = (EjsObj*) ejsCreateEmptyPot(ejs);
ejsSetPropertyByName(ejs, options, EN("mode"), ejsCreateStringFromAsc(ejs, fp->modeString));
ejsSetPropertyByName(ejs, options, EN("permissions"), ejsCreateNumber(ejs, fp->perms));
return options;
}
开发者ID:coordcn,项目名称:ejs,代码行数:9,代码来源:ejsFile.c
注:本文中的ejsCreateStringFromAsc函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论