Lines Matching refs:fr

270 static void free_Frame ( Frame* fr )
272 vg_assert(fr && fr->data);
273 ML_(dinfo_free)(fr->data);
274 ML_(dinfo_free)(fr);
314 static Bool parse_Frame_le64 ( Frame* fr, const HChar* tag, /*OUT*/ULong* n1 )
317 if (!fr || !fr->data) return False;
318 if (fr->n_data < 4) return False;
319 if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
320 if (fr->n_data != 4 + 1*8) return False;
321 *n1 = read_ULong_le(&fr->data[4 + 0*8]);
325 static Bool parse_Frame_le64_le64 ( Frame* fr, const HChar* tag,
329 if (!fr || !fr->data) return False;
330 if (fr->n_data < 4) return False;
331 if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
332 if (fr->n_data != 4 + 2*8) return False;
333 *n1 = read_ULong_le(&fr->data[4 + 0*8]);
334 *n2 = read_ULong_le(&fr->data[4 + 1*8]);
338 static Bool parse_Frame_asciiz ( Frame* fr, const HChar* tag,
342 if (!fr || !fr->data) return False;
343 if (fr->n_data < 4) return False;
344 if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
345 if (fr->n_data < 5) return False; // else there isn't even enough
351 if (i >= fr->n_data) break;
352 if (fr->data[i] == 0) break;
355 vg_assert(i <= fr->n_data);
356 if (i == fr->n_data-1 && fr->data[i] == 0) {
357 *str = &fr->data[4];
365 Frame* fr, const HChar* tag,
371 if (!fr || !fr->data) return False;
372 if (fr->n_data < 4) return False;
373 if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
374 if (fr->n_data < 4 + 3*8) return False;
375 *n1 = read_ULong_le(&fr->data[4 + 0*8]);
376 *n2 = read_ULong_le(&fr->data[4 + 1*8]);
377 *n3 = read_ULong_le(&fr->data[4 + 2*8]);
378 *data = &fr->data[4 + 3*8];
379 *n_data = fr->n_data - (4 + 3*8);
380 vg_assert(fr->n_data >= 4 + 3*8);