- }
- if (!prev_name) {
- struct file_struct *prev_file = hlink_flist->files[prev_ndx - hlink_flist->ndx_start];
- int alt_dest = F_HL_PREV(prev_file); /* alternate value when DONE && FIRST */
-
- if (alt_dest >= 0 && dry_run) {
- pathjoin(namebuf, MAXPATHLEN, basis_dir[alt_dest],
- f_name(prev_file, NULL));
- prev_name = namebuf;
- realname = f_name(prev_file, altbuf);
- } else {
- prev_name = f_name(prev_file, namebuf);
- realname = prev_name;
+
+ if (!prev_name) {
+ int alt_dest;
+
+ assert(flist != NULL);
+ prev_file = flist->files[prev_ndx - flist->ndx_start];
+ /* F_HL_PREV() is alt_dest value when DONE && FIRST. */
+ alt_dest = F_HL_PREV(prev_file);
+ if (DEBUG_GTE(HLINK, 2)) {
+ rprintf(FINFO, "hlink for %d (%s,%d): found flist match (alt %d)\n",
+ ndx, f_name(file, NULL), gnum, alt_dest);
+ }
+
+ if (alt_dest >= 0 && dry_run) {
+ pathjoin(namebuf, MAXPATHLEN, basis_dir[alt_dest],
+ f_name(prev_file, NULL));
+ prev_name = namebuf;
+ realname = f_name(prev_file, altbuf);
+ } else {
+ prev_name = f_name(prev_file, namebuf);
+ realname = prev_name;
+ }