Пример #1
0
 bool fetch(SkFILEStream& reader, TestResult* result) {
     char c;
     int i = 0;
     result->init(fDirNo);
     result->fPixelError = 0;
     result->fTime = 0;
     do {
         bool readOne = reader.read(&c, 1) != 0;
         if (!readOne) {
             SkASSERT(i == 0);
             return false;
         }
         if (c == ' ') {
             result->fFilename[i++] = '\0';
             break;
         }
         result->fFilename[i++] = c;
         SkASSERT(i < kMaxLength);
     } while (true);
     do {
         SkAssertResult(reader.read(&c, 1) != 0);
         if (c == ' ') {
             break;
         }
         SkASSERT(c >= '0' && c <= '9');
         result->fPixelError = result->fPixelError * 10 + (c - '0');
     } while (true);
     bool minus = false;
     do {
         if (reader.read(&c, 1) == 0) {
             break;
         }
         if (c == '\r' && reader.read(&c, 1) == 0) {
             break;
         }
         if (c == '\n') {
             break;
         }
         if (c == '-') {
             minus = true;
             continue;
         }
         SkASSERT(c >= '0' && c <= '9');
         result->fTime = result->fTime * 10 + (c - '0');
     } while (true);
     if (minus) {
         result->fTime = -result->fTime;
     }
     return true;
 }