ARSperl

 view release on metacpan or  search on metacpan

support.c  view on Meta::CPAN

#if AR_EXPORT_VERSION >= 4
		AP_FREE(messageText);
#endif
	}

	if(status.numItems > 0)  {
		FreeARStatusList(&status, FALSE);
		status.numItems = 0;
	}

	return ret;
}


#if AR_EXPORT_VERSION < 6
/* same as ARError, just uses the NT structures instead */

int
NTError(int returncode, NTStatusList status)
{
	int             item, ret = 0;

	for (item = 0; item < status.numItems; item++) {
#if AR_EXPORT_VERSION >= 4
	        char *messageText = (char *)MALLOCNN(strlen(status.statusList[item].messageText) + 
					     strlen(status.statusList[item].appendedText) + 4);
		sprintf(messageText, "%s (%s)", 
			status.statusList[item].messageText,
			status.statusList[item].appendedText);
#endif
		if (ARError_add(status.statusList[item].messageType,
				status.statusList[item].messageNum,
#if AR_EXPORT_VERSION < 4
				status.statusList[item].messageText
#else
				messageText
#endif
				) != 0)
			ret = 1;
#if AR_EXPORT_VERSION >= 4
		AP_FREE(messageText);
#endif
	}

        if(status.numItems > 0)  {
		FreeNTStatusList(&status, FALSE);
                status.numItems = 0;
        }

	return ret;
}
#endif /* NT routines gone in ars 5.x */


unsigned int
caseLookUpTypeNumber(TypeMapStruct *t, char *s)
{
	int i = 0;
	if(!t || !CVLD(s)) return TYPEMAP_LAST;

	while(strcasecmp(s, t[i].name) && t[i].number != TYPEMAP_LAST)
		i++;

	return t[i].number;
}

char *
lookUpTypeName(TypeMapStruct *t, unsigned int v)
{
	int i = 0;

	if(!t) return "[unknown]";

	while(t[i].number != v && t[i].number != TYPEMAP_LAST)
		i++;
	if(t[i].number == v)
		return t[i].name;
	return "[unknown]";
}

unsigned int
lookUpServerInfoTypeHint(unsigned int itn)
{
	int i = 0;

	while((ServerInfoTypeHints[i].infoTypeNum != itn) &&
	      (ServerInfoTypeHints[i].infoTypeNum != TYPEMAP_LAST))
		i++;

        return ServerInfoTypeHints[i].infoTypeType;
}

unsigned int
strsrch(register char *s, register char c)
{
	register unsigned int n = 0;

	if (!s || !*s)
		return 0;

	for (; *s; s++)
		if (*s == c)
			n++;
	return n;
}

char           *
strappend(char *b, char *a)
{
	char           *t = (char *) 0;

	if (a) {
		if (b) {
			t = (char *) MALLOCNN(strlen(b) + strlen(a) + 1);
			if (t) {
				strcpy(t, b);
				AP_FREE(b);
				strcat(t, a);
				b = t;
			} else
				return (char *) 0;



( run in 0.488 second using v1.01-cache-2.11-cpan-39bf76dae61 )