Lines Matching refs:fr

272 static void free_Frame ( Frame* fr )
274 vg_assert(fr && fr->data);
275 ML_(dinfo_free)(fr->data);
276 ML_(dinfo_free)(fr);
316 static Bool parse_Frame_le64 ( const Frame* fr, const HChar* tag,
320 if (!fr || !fr->data) return False;
321 if (fr->n_data < 4) return False;
322 if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
323 if (fr->n_data != 4 + 1*8) return False;
324 *n1 = read_ULong_le(&fr->data[4 + 0*8]);
328 static Bool parse_Frame_le64_le64 ( const Frame* fr, const HChar* tag,
332 if (!fr || !fr->data) return False;
333 if (fr->n_data < 4) return False;
334 if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
335 if (fr->n_data != 4 + 2*8) return False;
336 *n1 = read_ULong_le(&fr->data[4 + 0*8]);
337 *n2 = read_ULong_le(&fr->data[4 + 1*8]);
341 static Bool parse_Frame_asciiz ( const Frame* fr, const HChar* tag,
345 if (!fr || !fr->data) return False;
346 if (fr->n_data < 4) return False;
347 if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
348 if (fr->n_data < 5) return False; // else there isn't even enough
354 if (i >= fr->n_data) break;
355 if (fr->data[i] == 0) break;
358 vg_assert(i <= fr->n_data);
359 if (i == fr->n_data-1 && fr->data[i] == 0) {
360 *str = &fr->data[4];
368 const Frame* fr, const HChar* tag,
374 if (!fr || !fr->data) return False;
375 if (fr->n_data < 4) return False;
376 if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
377 if (fr->n_data < 4 + 3*8) return False;
378 *n1 = read_ULong_le(&fr->data[4 + 0*8]);
379 *n2 = read_ULong_le(&fr->data[4 + 1*8]);
380 *n3 = read_ULong_le(&fr->data[4 + 2*8]);
381 *data = &fr->data[4 + 3*8];
382 *n_data = fr->n_data - (4 + 3*8);
383 vg_assert(fr->n_data >= 4 + 3*8);