关于二叉树线索化的疑问

这段中序线索化


```c
ThrBiTreeNode *pre;
void inThread(ThrBiTreeNode *pointer){
if(pointer){
  inThread(pointer->Lchild;
if(pointer->Lchild==NULL){
pointer->Ltag=1;
pointer->Lchild=pre;}
if(pre!=NULL&&pre->Rchild==NULL){
pre->Rchild=pointer;
pre->Rtag=1;}
pre=pointer;
inThread(pointer->Rchild);}

是怎么把这个也线索化的

img


到了H左右子树都是NULL,if那里的语句不是不执行吗,所以pre=H的时候应该没有操作啊,那是怎么把H的右子树也线索化啊。
不太理解