private static void CallCollNeeded(Context ctx, TEXTENCODE encode, string name) { Debug.Assert(ctx.CollNeeded == null || ctx.CollNeeded16 == null); if (ctx.CollNeeded != null) { string external = name; if (external == null) { return; } ctx.CollNeeded(ctx.CollNeededArg, ctx, encode, external); C._tagfree(ctx, ref external); } #if !OMIT_UTF16 if (ctx.CollNeeded16 != null) { Mem tmp = Mem_New(ctx); Mem_SetStr(tmp, -1, name, TEXTENCODE.UTF8, DESTRUCTOR.STATIC); string external = Mem_Text(tmp, TEXTENCODE.UTF16NATIVE); if (external != null) { ctx.CollNeeded16(ctx.CollNeededArg, ctx, Context.CTXENCODE(ctx), external); } Mem_Free(ref tmp); } #endif }
public static RC CheckCollSeq(Parse parse, CollSeq coll) { if (coll != null) { Context ctx = parse.Ctx; CollSeq p = GetCollSeq(parse, Context.CTXENCODE(ctx), coll, coll.Name); if (p == null) { return(RC.ERROR); } Debug.Assert(p == coll); } return(RC.OK); }