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