563
memcpy (s, comp_dir, comp_dir_len);
564
s[comp_dir_len] = '/';
565
memcpy (s + comp_dir_len + 1, dirt[value], dir_len);
566
s[comp_dir_len + 1 + dir_len] = '/';
567
memcpy (s + comp_dir_len + 1 + dir_len + 1, file, file_len + 1);
564
if (comp_dir_len != 0)
566
memcpy (s, comp_dir, comp_dir_len);
567
s[comp_dir_len] = '/';
568
p += comp_dir_len + 1;
570
memcpy (p, dirt[value], dir_len);
572
memcpy (p + dir_len + 1, file, file_len + 1);
569
574
canonicalize_path (s, s);
570
if (base_dir == NULL ||
571
has_prefix (s, base_dir))
575
if (list_file_fd != -1)
578
if (base_dir == NULL)
580
else if (has_prefix (s, base_dir))
577
581
p = s + strlen (base_dir);
581
if (list_file_fd != -1)
582
else if (has_prefix (s, dest_dir))
583
p = s + strlen (dest_dir);
583
size = strlen (p) + 1;
587
size_t size = strlen (p) + 1;
586
ret = write (list_file_fd, p, size);
590
ssize_t ret = write (list_file_fd, p, size);
1331
1335
/* Clear the old bits so they do not affect the new hash. */
1332
memset ((char *) build_id->d_buf + build_id_offset, 0, build_id_offset);
1336
memset ((char *) build_id->d_buf + build_id_offset, 0, build_id_size);
1334
1338
hashFunctionContextInit (&ctx, hf);