static void SendComments(oggstream* Stream) { tchar_t s[256]; if (Stream->Stream.Comment.Node) { int No; for (No=0;No<Stream->Comment.comments;++No) { UTF8ToTcs(s,TSIZEOF(s),Stream->Comment.user_comments[No]); Stream->Stream.Comment.Node->Set(Stream->Stream.Comment.Node,Stream->Stream.Comment.No,s,sizeof(s)); } } }
static NOINLINE int ReadStr(const char* Value,int Len,bool_t UTF8,tchar_t* Out,int OutLen) { char* Src; int i; if (Out) Out[0] = 0; if (Len<0) Len=strlen(Value); else for (i=0;i<Len;++i) if (Value[i]==0) { Len=i; break; } if (Len) { Src = malloc(Len+1); if (Src) { memcpy(Src,Value,Len); for (i=Len;i>0 && IsSpace(Src[i-1]);--i); Src[i] = 0; if (Out) { if (UTF8) UTF8ToTcs(Out,OutLen,Src); else StrToTcs(Out,OutLen,Src); } } free(Src); } return Len+1; }