110898Sroland.mainz@nrubsig.org /*********************************************************************** 210898Sroland.mainz@nrubsig.org * * 310898Sroland.mainz@nrubsig.org * This software is part of the ast package * 4*12068SRoger.Faulkner@Oracle.COM * Copyright (c) 1985-2010 AT&T Intellectual Property * 510898Sroland.mainz@nrubsig.org * and is licensed under the * 610898Sroland.mainz@nrubsig.org * Common Public License, Version 1.0 * 710898Sroland.mainz@nrubsig.org * by AT&T Intellectual Property * 810898Sroland.mainz@nrubsig.org * * 910898Sroland.mainz@nrubsig.org * A copy of the License is available at * 1010898Sroland.mainz@nrubsig.org * http://www.opensource.org/licenses/cpl1.0.txt * 1110898Sroland.mainz@nrubsig.org * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 1210898Sroland.mainz@nrubsig.org * * 1310898Sroland.mainz@nrubsig.org * Information and Software Systems Research * 1410898Sroland.mainz@nrubsig.org * AT&T Research * 1510898Sroland.mainz@nrubsig.org * Florham Park NJ * 1610898Sroland.mainz@nrubsig.org * * 1710898Sroland.mainz@nrubsig.org * Glenn Fowler <gsf@research.att.com> * 1810898Sroland.mainz@nrubsig.org * David Korn <dgk@research.att.com> * 1910898Sroland.mainz@nrubsig.org * Phong Vo <kpv@research.att.com> * 2010898Sroland.mainz@nrubsig.org * * 2110898Sroland.mainz@nrubsig.org ***********************************************************************/ 2210898Sroland.mainz@nrubsig.org #pragma prototyped 2310898Sroland.mainz@nrubsig.org 2410898Sroland.mainz@nrubsig.org #include <ast.h> 2510898Sroland.mainz@nrubsig.org 2610898Sroland.mainz@nrubsig.org /* 2710898Sroland.mainz@nrubsig.org * path prefix strcmp(3) -- longest first! 2810898Sroland.mainz@nrubsig.org */ 2910898Sroland.mainz@nrubsig.org 3010898Sroland.mainz@nrubsig.org int 3110898Sroland.mainz@nrubsig.org strpcmp(register const char* a, register const char* b) 3210898Sroland.mainz@nrubsig.org { 3310898Sroland.mainz@nrubsig.org while (*a == *b) 3410898Sroland.mainz@nrubsig.org { 3510898Sroland.mainz@nrubsig.org if (!*a++) 3610898Sroland.mainz@nrubsig.org return 0; 3710898Sroland.mainz@nrubsig.org b++; 3810898Sroland.mainz@nrubsig.org } 3910898Sroland.mainz@nrubsig.org if (*a == 0 && *b == '/') 4010898Sroland.mainz@nrubsig.org return 1; 4110898Sroland.mainz@nrubsig.org if (*a == '/' && *b == 0) 4210898Sroland.mainz@nrubsig.org return -1; 4310898Sroland.mainz@nrubsig.org return (a < b) ? -1 : 1; 4410898Sroland.mainz@nrubsig.org } 45