示例#1
0
文件: Callback.cs 项目: BclEx/GpuEx
        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
        }
示例#2
0
文件: Callback.cs 项目: BclEx/GpuEx
 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);
 }