title: printf question with a const char* variable
body: <p>I am stuck in a printf problem. I would appreciate if I can get some help here:
  In the below code, I can see the font family get displaced correctly in first printf(),
  but if I set it to variable, i only get an empty string. How can I put it in a variable and have the right values? I just don't want to type 'font.family().family().string().utf8().data()' everywhere?</p>
  
  <p>I did this in the same method:</p>
  
  <pre><code>void myMethod() {
        const char* fontFamily = font.family().family().string().utf8().data();
        // get displayed correctly
        printf ("drawText1 %s \n", font.family().family().string().utf8().data());
        // get an empty string
        printf ("drawText2 %s \n", fontFamily);
  }
  </code></pre>
  
  <p>And the signature of 'data()' is </p>
  
  <pre><code>class CString {
  public:
      CString() { }
      CString(const char*);
      CString(const char*, unsigned length);
      CString(CStringBuffer* buffer) : m_buffer(buffer) { }
      static CString newUninitialized(size_t length, char*&amp; characterBuffer);
  
      const char* data() const;
   //...
  
  }
  </code></pre>
  
  <p>The signature of utf8() is</p>
  
  <pre><code>class String {
   CString utf8() const;
  }
  </code></pre>
  
  <p>Thank you.</p>