Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/lib/libc/gen/glob.c,v rcsdiff: /ftp/cvs/cvsroot/src/lib/libc/gen/glob.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.23.6.2 retrieving revision 1.24 diff -u -p -r1.23.6.2 -r1.24 --- src/lib/libc/gen/glob.c 2008/05/26 13:06:39 1.23.6.2 +++ src/lib/libc/gen/glob.c 2009/04/08 16:28:50 1.24 @@ -1,4 +1,4 @@ -/* $NetBSD: glob.c,v 1.23.6.2 2008/05/26 13:06:39 ad Exp $ */ +/* $NetBSD: glob.c,v 1.24 2009/04/08 16:28:50 christos Exp $ */ /* * Copyright (c) 1989, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)glob.c 8.3 (Berkeley) 10/13/93"; #else -__RCSID("$NetBSD: glob.c,v 1.23.6.2 2008/05/26 13:06:39 ad Exp $"); +__RCSID("$NetBSD: glob.c,v 1.24 2009/04/08 16:28:50 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -927,6 +927,39 @@ globfree(glob_t *pglob) } } +#ifndef __LIBC12_SOURCE__ +int +glob_pattern_p(const char *pattern, int quote) +{ + int range = 0; + + for (; *pattern; pattern++) + switch (*pattern) { + case QUESTION: + case STAR: + return 1; + + case QUOTE: + if (quote && pattern[1] != '\0') + ++pattern; + break; + + case LBRACKET: + range = 1; + break; + + case RBRACKET: + if (range) + return 1; + break; + default: + break; + } + + return 0; +} +#endif + static DIR * g_opendir(Char *str, glob_t *pglob) {