Edit

kc3-lang/angle/src/compiler/InfoSink.cpp

Branch :

  • Show log

    Commit

  • Author : daniel@transgaming.com
    Date : 2010-03-17 13:12:17
    Hash : acc51130
    Message : mv Compiler/* -> src/compiler/* Trac #11406 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@37 736b8ea6-26fd-11df-bfd4-992fa37f6226

  • src/compiler/InfoSink.cpp
  • //
    // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    #include "InfoSink.h"
    
    #ifdef _WIN32
        #include <windows.h>
    #endif
    
    void TInfoSinkBase::append(const char *s)           
    {
        if (outputStream & EString) {
            checkMem(strlen(s)); 
            sink.append(s); 
        }
    
    #ifdef _WIN32
        if (outputStream & EDebugger)
            OutputDebugString(s);
    #endif
    
        if (outputStream & EStdOut)
            fprintf(stdout, "%s", s);
    }
    
    void TInfoSinkBase::append(int count, char c)       
    { 
        if (outputStream & EString) {
            checkMem(count);         
            sink.append(count, c); 
        }
    
    #ifdef _WIN32
        if (outputStream & EDebugger) {
            char str[2];
            str[0] = c;
            str[1] = '\0';
            OutputDebugString(str);
        }
    #endif
    
        if (outputStream & EStdOut)
            fprintf(stdout, "%c", c);
    }
    
    void TInfoSinkBase::append(const TPersistString& t) 
    { 
        if (outputStream & EString) {
            checkMem(t.size());  
            sink.append(t); 
        }
    
    #ifdef _WIN32
        if (outputStream & EDebugger)
            OutputDebugString(t.c_str());
    #endif
    
        if (outputStream & EStdOut)
            fprintf(stdout, "%s", t.c_str());
    }
    
    void TInfoSinkBase::append(const TString& t)
    { 
        if (outputStream & EString) {
            checkMem(t.size());  
            sink.append(t.c_str()); 
        }
    
    #ifdef _WIN32
        if (outputStream & EDebugger)
            OutputDebugString(t.c_str());
    #endif
    
        if (outputStream & EStdOut)
            fprintf(stdout, "%s", t.c_str());
    }