minix/lib/libsys/env_prefix.c

30 lines
860 B
C
Raw Normal View History

#include "sysutil.h"
2005-04-21 16:53:53 +02:00
#include <stdlib.h>
#include <string.h>
/*=========================================================================*
* env_prefix *
*=========================================================================*/
PUBLIC int env_prefix(env, prefix)
char *env; /* environment variable to inspect */
char *prefix; /* prefix to test for */
{
/* An environment setting may be prefixed by a word, usually "pci".
* Return TRUE if a given prefix is used.
*/
char value[EP_BUF_SIZE];
char punct[] = ":,;.";
2006-11-10 19:19:38 +01:00
int s;
2005-04-21 16:53:53 +02:00
size_t n;
if ((s = env_get_param(env, value, sizeof(value))) != 0) {
2005-04-21 16:53:53 +02:00
if (s != ESRCH) /* only error allowed */
printf("WARNING: env_get_param() failed in env_prefix(): %d\n", s);
return FALSE;
2005-04-21 16:53:53 +02:00
}
n = strlen(prefix);
return(strncmp(value, prefix, n) == 0
2005-04-21 16:53:53 +02:00
&& strchr(punct, value[n]) != NULL);
}