bool SkFILEWStream::write(const void* buffer, size_t size) { if (fFILE == NULL) return false; if (sk_fwrite(buffer, size, fFILE) != size) { SkDEBUGCODE(SkDebugf("SkFILEWStream failed writing %d bytes\n", size);)
bool GenerateChecksums() { FILE* file = sk_fopen(checksumFileName, kWrite_SkFILE_Flag); if (!file) { SkDebugf("Can't open %s for writing.\n", checksumFileName); return false; } SkString line; line.printf(checksumHeader, __FUNCTION__, __FILE__, checksumFileName); sk_fwrite(line.c_str(), line.size(), file); for (int i = 0; i < whitelistCount; ++i) { const char* fontName = whitelist[i].fFontName; sk_sp<SkTypeface> tf(SkTypeface::MakeFromName(fontName, SkTypeface::kNormal)); uint32_t checksum = compute_checksum(tf.get()); line.printf(checksumEntry, fontName, checksum); sk_fwrite(line.c_str(), line.size(), file); } sk_fwrite(checksumTrailer, sizeof(checksumTrailer) - 1, file); sk_fclose(file); return true; }