static void testSkpClip(TestState* data) { data->fResult.testOne(); SkString statName(data->fResult.fFilename); SkASSERT(statName.endsWith(".skp")); statName.remove(statName.size() - 4, 4); statName.appendf(".%d.%d.skp", data->fResult.fPixelError, data->fResult.fTime); SkString statusFile = get_out_path(data->fResult.fDirNo, outStatusDir); if (!statusFile.size()) { SkDebugf("failed to create %s", statusFile.c_str()); return; } statusFile.appendf("%s%s", PATH_SLASH, statName.c_str()); FILE* file = sk_fopen(statusFile.c_str(), kWrite_SkFILE_Flag); if (!file) { SkDebugf("failed to create %s", statusFile.c_str()); return; } sk_fclose(file); if (verbose()) { if (data->fResult.fPixelError || data->fResult.fTime) { SkDebugf("%s", data->fResult.progress().c_str()); } else { SkDebugf("."); } } }
SkData* SkData::NewFromFileName(const char path[]) { SkFILE* f = path ? sk_fopen(path, kRead_SkFILE_Flag) : NULL; if (NULL == f) { return NULL; } SkData* data = NewFromFILE(f); sk_fclose(f); return data; }
SkData* SkData::NewFromFileName(const char path[]) { FILE* f = path ? sk_fopen(path, kRead_SkFILE_Flag) : nullptr; if (nullptr == f) { return nullptr; } SkData* data = NewFromFILE(f); sk_fclose(f); return data; }
sk_sp<SkData> SkData::MakeFromFileName(const char path[]) { FILE* f = path ? sk_fopen(path, kRead_SkFILE_Flag) : nullptr; if (nullptr == f) { return nullptr; } auto data = MakeFromFILE(f); sk_fclose(f); return data; }
void SkFILEStream::setPath(const char path[]) { fName.set(path); if (fFILE) { sk_fclose(fFILE); fFILE = nullptr; } if (path) { fFILE = sk_fopen(fName.c_str(), kRead_SkFILE_Flag); } }
bool SkFILEStream::rewind() { if (fFILE) { if (sk_frewind(fFILE)) { return true; } // we hit an error sk_fclose(fFILE); fFILE = nullptr; } return false; }
// dump all known runtime config options to the file with their default values. // to trigger this, make a config file of zero size. void SkRTConfRegistry::possiblyDumpFile() const { const char *path = configFileLocation(); SkFILE *fp = sk_fopen(path, kRead_SkFILE_Flag); if (!fp) { return; } size_t configFileSize = sk_fgetsize(fp); if (configFileSize == 0) { printAll(path); } sk_fclose(fp); }
bool SkFILEStream::rewind() { if (fFILE) { if (sk_frewind(fFILE)) return true; // we hit an error sk_fclose(fFILE); fFILE = NULL; } return false; }
SkRTConfRegistry::SkRTConfRegistry(): fConfs(100) { SkFILE *fp = sk_fopen(configFileLocation(), kRead_SkFILE_Flag); if (!fp) { return; } char line[1024]; while (!sk_feof(fp)) { if (!sk_fgets(line, sizeof(line), fp)) { break; } char *commentptr = strchr(line, '#'); if (commentptr == line) { continue; } if (NULL != commentptr) { *commentptr = '\0'; } char sep[] = " \t\r\n"; char *keyptr = strtok(line, sep); if (!keyptr) { continue; } char *valptr = strtok(NULL, sep); if (!valptr) { continue; } SkString* key = SkNEW_ARGS(SkString,(keyptr)); SkString* val = SkNEW_ARGS(SkString,(valptr)); fConfigFileKeys.append(1, &key); fConfigFileValues.append(1, &val); } sk_fclose(fp); }
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; }
SkFILEWStream::~SkFILEWStream() { if (fFILE) { sk_fclose(fFILE); } }
SkFILEStream::~SkFILEStream() { if (fFILE && fOwnership != kCallerRetains_Ownership) { sk_fclose(fFILE); } }
SkFILEStream::~SkFILEStream() { if (fFILE) sk_fclose(fFILE); }