4727e0251c76f69905d0748adab43484166d6870
angie
  Fri Mar 14 16:42:14 2014 -0700
In code review, Max pointed out that it's non-standard to conditionallyinclude header files in the middle of a .c file.  While looking at it,
I realized that there were a lot of unnecessary #ifdef's for KNETFILE_HOOKS
in general, all because there was not yet an #else implementation of
knetUdcInstall, which can be a no-op if KNETFILE_HOOKS is not used.
So I yanked out a lot of unnecessary old stuff, and tested basic bam and
vcf track operations with a few settings:

USE_SAMTABIX   USE_BAM   USE_TABIX   KNETFILE_HOOKS
1     (these tree are all implied by USE_SAMTABIX)
0        1          0       0
0        1          0       1
0        0          1       1
USE_TABIX without KNETFILE_HOOKS doesn't work because the tabix lib
wants to download .tbi files into the current working directory,
cgi-bin, and we don't allow that (and shouldn't!).  If we were going
to support that, we could add a change-dir solution as in bamFile.c,
but I don't think we need to support it now that there's samtabix.

refs #6235, refs #12850

diff --git src/lib/knetUdc.c src/lib/knetUdc.c
index fdba740..87f6d8c 100644
--- src/lib/knetUdc.c
+++ src/lib/knetUdc.c
@@ -71,16 +71,24 @@
 static int kuClose(knetFile *fp)
 /* Close and free fp->udcf. */
 {
 verbose(2, "udcClose(%lu)\n", (unsigned long)(fp->udcf));
 udcFileClose(&(fp->udcf));
 return 0;
 }
 
 void knetUdcInstall()
 /* install udc i/o functions in knetfile interface in Heng Li's samtools lib. */
 {
 // maybe init udcCacheDir from hg.conf?
 knet_init_alt(kuOpen, kuDopen, kuRead, kuSeek, kuTell, kuClose);
 }
 
-#endif//def (USE_BAM || USE_TABIX) && KNETFILE_HOOKS
+
+#else// no (USE_BAM || USE_TABIX) && KNETFILE_HOOKS
+
+void knetUdcInstall()
+/* Required libs aren't installed; do nothing. */
+{
+}
+
+#endif