mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-21 08:39:46 +08:00
9380790ea8
re: The current netcdf-c release has some problems with the mingw platform on windows. Mostly they are path issues. Changes to support mingw+msys2: ------------------------------- * Enable option of looking into the windows registry to find the mingw root path. In aid of proper path handling. * Add mingw+msys as a specific platform in configure.ac and move testing of the platform to the front so it is available early. * Handle mingw X libncpoco (dynamic loader) properly even though mingw does not yet support it. * Handle mingw X plugins properly even though mingw does not yet support it. * Alias pwd='pwd -W' to better handle paths in shell scripts. * Plus a number of other minor compile irritations. * Disallow the use of multiple nc_open's on the same file for windows (and mingw) because windows does not seem to handle these properly. Not sure why we did not catch this earlier. * Add mountpoint info to dpathmgr.c to help support mingw. * Cleanup dpathmgr conversions. Known problems: --------------- * I have not been able to get shared libraries to work, so plugins/filters must be disabled. * There is some kind of problem with libcurl that I have not solved, so all uses of libcurl (currently DAP+Byterange) must be disabled. Misc. other fixes: ------------------ * Cleanup the relationship between ENABLE_PLUGINS and various other flags in CMakeLists.txt and configure.ac. * Re-arrange the TESTDIRS order in Makefile.am. * Add pseudo-breakpoint to nclog.[ch] for debugging. * Improve the documentation of the path manager code in ncpathmgr.h * Add better support for relative paths in dpathmgr.c * Default the mode args to NCfopen to include "b" (binary) for windows. * Add optional debugging output in various places. * Make sure that everything builds with plugins disabled. * Fix numerous (s)printf inconsistencies betweenb the format spec and the arguments.
73 lines
1.5 KiB
C
73 lines
1.5 KiB
C
/*! \file
|
|
|
|
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
|
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
|
|
2015, 2016, 2017, 2018
|
|
University Corporation for Atmospheric Research/Unidata.
|
|
|
|
See \ref copyright file for more info.
|
|
|
|
*/
|
|
#include "config.h"
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include "netcdf.h"
|
|
#include "nctestserver.h"
|
|
|
|
#define FURL "%s"
|
|
static char url[4096];
|
|
|
|
#ifdef DEBUG
|
|
static void
|
|
CHECK(int e, const char* msg)
|
|
{
|
|
if(e == NC_NOERR) return;
|
|
if(msg == NULL) msg = "Error";
|
|
printf("%s: %s\n", msg, nc_strerror(e));
|
|
exit(1);
|
|
}
|
|
#endif
|
|
|
|
static void
|
|
XFAIL(int e, const char* msg)
|
|
{
|
|
if(e == NC_NOERR) return;
|
|
if(msg == NULL) msg = "XFAIL";
|
|
printf("%s: %s\n", msg, nc_strerror(e));
|
|
}
|
|
|
|
int
|
|
main()
|
|
{
|
|
int ncid,retval;
|
|
char* serverlist = NULL;
|
|
char* svcurl = NULL;
|
|
const char* servlet = "dts";
|
|
|
|
#ifdef REMOTETESTSERVERS
|
|
serverlist = strdup(REMOTETESTSERVERS);
|
|
#endif
|
|
|
|
if(serverlist == NULL || strlen(serverlist) == 0) {
|
|
fprintf(stderr,"WARNING: Cannot determine a server list");
|
|
exit(0);
|
|
}
|
|
svcurl = nc_findtestserver(servlet,serverlist);
|
|
if(svcurl == NULL) {
|
|
fprintf(stderr,"WARNING: Server not found: %s\n",servlet);
|
|
exit(0);
|
|
}
|
|
|
|
snprintf(url,sizeof(url),FURL,svcurl);
|
|
|
|
printf("Testing: Misc. Tests url=|%s|\n",url);
|
|
retval = nc_open(url, 0, &ncid);
|
|
XFAIL(retval,"*** XFail : No trailing slash in url");
|
|
retval = nc_close(ncid);
|
|
/* cleanup */
|
|
free(serverlist);
|
|
free(svcurl);
|
|
return 0;
|
|
}
|