MCPcopy Create free account
hub / github.com/MapServer/MapServer / msOWSTerminateOnlineResource

Function msOWSTerminateOnlineResource

mapows.c:659–690  ·  view source on GitHub ↗

** msOWSTerminateOnlineResource() ** ** Append trailing "?" or "&" to an onlineresource URL if it doesn't have ** one already. The returned string is then ready to append GET parameters ** to it. ** ** Returns a newly allocated string that should be freed by the caller or ** NULL in case of error. */

Source from the content-addressed store, hash-verified

657** NULL in case of error.
658*/
659char * msOWSTerminateOnlineResource(const char *src_url)
660{
661 char *online_resource = NULL;
662 size_t buffer_size = 0;
663
664 if (src_url == NULL)
665 return NULL;
666
667 buffer_size = strlen(src_url)+2;
668 online_resource = (char*) malloc(buffer_size);
669
670 if (online_resource == NULL)
671 {
672 msSetError(MS_MEMERR, NULL, "msOWSTerminateOnlineResource()");
673 return NULL;
674 }
675
676 strlcpy(online_resource, src_url, buffer_size);
677
678 /* Append trailing '?' or '&' if missing. */
679 if (strchr(online_resource, '?') == NULL)
680 strlcat(online_resource, "?", buffer_size);
681 else
682 {
683 char *c;
684 c = online_resource+strlen(online_resource)-1;
685 if (*c != '?' && *c != '&')
686 strlcpy(c+1, "&", buffer_size-strlen(online_resource));
687 }
688
689 return online_resource;
690}
691
692/*
693** msOWSGetOnlineResource()

Callers 2

msOWSGetOnlineResourceFunction · 0.85
msBuildWFSLayerGetURLFunction · 0.85

Calls 3

msSetErrorFunction · 0.85
strlcpyFunction · 0.85
strlcatFunction · 0.85

Tested by

no test coverage detected