rem: if (!Quiet)
add: if (!Quiet && !fD_GetPrivate(obj))
context: fD_write(FILE* outfile, const fdDef* obj,int alias){   static int bias = -1;   static int priv = 1;   shortcard count, numregs;   const char *tagname, *varname, *name, *rettype;   int vd=0, a45=0, d7=0;   DBP(fprintf(stderr, "func %s\n", fD_GetName(obj)));   numregs=fD_RegNum(obj);   if ((rettype=fD_GetType(obj))==fD_nostring)   {      if (!Quiet)	 fprintf(stderr, "Warning: %s has no prototype.\n", fD_GetName(obj));      rettype = "VOID";   }   if (!strcasecmp(rettype, "void"))      vd = 1; /* set flag */   for (count=d0; count<numregs; count++)   {      const char *reg=fD_GetRegStr(obj, count);      if (strcmp(reg, "a4")==0 || strcmp(reg, "a5")==0)      {	 if (!a45)	    a45=(strcmp(reg, "a4") ? 5 : 4); /* set flag */	 else /* Security check */	    if (!Quiet)	       fprintf(stderr, "Warning: both a4 and a5 are used. "		       "This is not supported!\n");      }      if (strcmp(reg, "d7")==0) /* Used only when a45!=0 */	 d7=1;   }      if (a45 && d7) /* Security check */      if (!Quiet)	 fprintf(stderr, "Warning: d7 and a4 or a5 are used. This is not "		 "supported!\n");   name=fD_GetName(obj);   if (fD_ProtoNum(obj)!=numregs)   {      if (!Quiet)	 fprintf(stderr, "%s gets %d fd args and %d proto%s.\n", name, numregs,		 fD_ProtoNum(obj), fD_ProtoNum(obj)!= 1 ? "s" : "");      for (count=d0; count<numregs; count++)      {	 if (fD_GetReg(obj, count) != illegal &&	     fD_GetProto(obj, count) == fD_nostring)	 {	    fD_NewProto((fdDef*)obj, count, "ULONG");	 }      }//      return;   }   if (bias != fD_GetOffset(obj))   {      bias = fD_GetOffset(obj);      fprintf(outfile, "==bias %d\n", -bias);   }   if (priv != fD_GetPrivate(obj))   {      priv = fD_GetPrivate(obj);      fprintf(outfile, "==%s\n", priv ? "private" : "public");   }      fprintf(outfile, "%s %s(", rettype, name);      if (numregs>0)   {      for (count=d0; count<numregs; count++)      {	 if (strchr(fD_GetProto(obj, count),'%'))	    sprintf(Buffer, fD_GetProto(obj, count), fD_GetParam(obj, count));	 else	    sprintf(Buffer, "%s %s",		    fD_GetProto(obj, count), fD_GetParam(obj, count));	 if (count<numregs-1)	    fprintf(outfile, "%s, ", Buffer);	 else	    fprintf(outfile, "%s", Buffer);      }   }   fprintf(outfile, ") (");   if (numregs>0)   {      for (count=d0; count<numregs-1; count++)	 fprintf(outfile, "%s,", fD_GetRegStr(obj, count));      fprintf(outfile, "%s", fD_GetRegStr(obj, count));   }   fprintf(outfile, ")\n");   if (alias)   {      return;   }      if ((tagname=aliasfunction(fD_GetName(obj)))!=0)   {      fdDef *objnc=(fdDef*)obj;      objnc->name=(char*)tagname;      fprintf(outfile, "==alias\n");      fD_write(outfile, objnc, 1);      objnc->name=(char*)name;   }   if ((tagname=taggedfunction(obj))!=0)   {      fprintf(outfile, "==varargs\n");      fprintf(outfile, "%s %s(", rettype, tagname);         if (numregs>0)      {	 for (count=d0; count<numregs; count++)	 {	    if (strchr(fD_GetProto(obj, count),'%'))	       sprintf(Buffer, fD_GetProto(obj, count),		       fD_GetParam(obj, count));	    else	       sprintf(Buffer, "%s %s",		       fD_GetProto(obj, count), fD_GetParam(obj, count));	    if (count<numregs-1)	       fprintf(outfile, "%s, ", Buffer);	    else	       fprintf(outfile, "Tag %s, ...", fD_GetParam(obj, count));	 }      }      fprintf(outfile, ") (");      if (numregs>0)      {	 for (count=d0; count<numregs-1; count++)	    fprintf(outfile, "%s,", fD_GetRegStr(obj, count));	 fprintf(outfile, "%s", fD_GetRegStr(obj, count));      }      fprintf(outfile, ")\n");   }   if ((varname = getvarargsfunction(obj)) != 0)   {      fprintf(outfile, "==varargs\n");      fprintf(outfile, "%s %s(", rettype, varname);         if (numregs>0)      {	 for (count=d0; count<numregs; count++)	 {	    if (strchr(fD_GetProto(obj, count),'%'))	       sprintf(Buffer, fD_GetProto(obj, count),		       fD_GetParam(obj, count));	    else	       sprintf(Buffer, "%s %s",		       fD_GetProto(obj, count), fD_GetParam(obj, count));	    if (count<numregs-1)	       fprintf(outfile, "%s, ", Buffer);	    else	       fprintf(outfile, "...");	 }      }      fprintf(outfile, ") (");      if (numregs>0)      {	 for (count=d0; count<numregs-1; count++)	    fprintf(outfile, "%s,", fD_GetRegStr(obj, count));	 fprintf(outfile, "%s", fD_GetRegStr(obj, count));      }      fprintf(outfile, ")\n");   }   if (strcmp(name, "DoPkt")==0)   {      fdDef *objnc=(fdDef*)obj;      char newname[7]="DoPkt0";      objnc->name=newname;      for (count=2; count<7; count++)      {	 regs reg=objnc->reg[count];	 char *proto=objnc->proto[count];	 objnc->reg[count]=illegal;	 objnc->proto[count]=fD_nostring;	 fprintf(outfile,"==alias\n");	 fD_write(outfile, objnc, 1);	 objnc->reg[count]=reg;	 objnc->proto[count]=proto;	 newname[5]++;      }      objnc->name=(char*)name;   }   bias -= FUNCTION_GAP;}