Previous 199869 Revisions Next

r17721 Saturday 8th September, 2012 at 10:58:51 UTC by Oliver Stöneberg
removed astring::stringbuffer() / use cached value in astring::len() instead of strlen() (no whatsnew)
[src/lib/util]astring.h chd.c

trunk/src/lib/util/chd.c
r17720r17721
10791079         throw CHDERR_METADATA_NOT_FOUND;
10801080
10811081      // read the metadata
1082      file_read(metaentry.offset + METADATA_HEADER_SIZE, output.stringbuffer(metaentry.length), metaentry.length);
1082      // TODO: how to properly allocate a dynamic char buffer?
1083      char* metabuf = new char[metaentry.length+1];
1084      memset(metabuf, 0x00, metaentry.length+1);
1085      file_read(metaentry.offset + METADATA_HEADER_SIZE, metabuf, metaentry.length);
1086      output.cpy(metabuf);
1087      delete[] metabuf;
10831088      return CHDERR_NONE;
10841089   }
10851090
trunk/src/lib/util/astring.h
r17720r17721
104104   // C string conversion operators and helpers
105105   operator const char *() const { return m_text; }
106106   const char *cstr() const { return m_text; }
107   char *stringbuffer(int size) { ensure_room(size); return m_text; }
108107
109108   // buffer management
110109   astring &reset() { return cpy(""); }
111110   astring &expand(int length) { ensure_room(length); return *this; }
112111
113112   // length query
114   int len() const { return strlen(m_text); }
113   int len() const { return m_len; }
115114
116115   // copy helpers
117116   astring &cpy(const char *src, int count);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team