Diff
Not logged in

Differences From Artifact [88aaf2e78c]:

To Artifact [3ec2fa3b31]:


124
125
126
127
128
129
130
131




132
133
134
135
136
137
138
124
125
126
127
128
129
130

131
132
133
134
135
136
137
138
139
140
141







-
+
+
+
+







PathNode *path_shortest(int iFrom, int iTo, int directOnly){
  Stmt s;
  PathNode *pPrev;
  PathNode *p;

  path_reset();
  path.pStart = path_new_node(iFrom, 0, 0);
  if( iTo==iFrom ) return path.pStart;
  if( iTo==iFrom ){
    path.pEnd = path.pStart;
    return path.pStart;
  }
  if( directOnly ){
    db_prepare(&s, 
        "SELECT cid, 1 FROM plink WHERE pid=:pid AND isprim "
        "UNION ALL "
        "SELECT pid, 0 FROM plink WHERE cid=:pid AND isprim"
    );
  }else{
358
359
360
361
362
363
364

365
366
367
368
369
370
371
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375







+







  int nChng = 0;           /* Number of files whose names have changed */
  int *aChng;              /* Two integers per name change */
  int i;                   /* Loop counter */
  Stmt q1;                 /* Query of name changes */

  *pnChng = 0;
  *aiChng = 0;
  if( iFrom==iTo ) return;
  path_reset();
  p = path_shortest(iFrom, iTo, 0);
  if( p==0 ) return;
  path_reverse_path();
  db_prepare(&q1,
     "SELECT pfnid, fnid FROM mlink WHERE mid=:mid AND pfnid>0"
  );