=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/lowparse.c,v retrieving revision 1.29 retrieving revision 1.30 diff -c -r1.29 -r1.30 *** src/usr.bin/make/lowparse.c 2012/09/21 07:55:20 1.29 --- src/usr.bin/make/lowparse.c 2012/10/02 10:29:31 1.30 *************** *** 1,4 **** ! /* $OpenBSD: lowparse.c,v 1.29 2012/09/21 07:55:20 espie Exp $ */ /* low-level parsing functions. */ --- 1,4 ---- ! /* $OpenBSD: lowparse.c,v 1.30 2012/10/02 10:29:31 espie Exp $ */ /* low-level parsing functions. */ *************** *** 42,47 **** --- 42,48 ---- #include "error.h" #include "lst.h" #include "memory.h" + #include "pathnames.h" #ifndef LOCATION_TYPE #include "location.h" #endif *************** *** 126,138 **** curdir_len = strlen(dir); } static const char * simplify(const char *filename) { ! if (strncmp(curdir, filename, curdir_len) == 0 && ! filename[curdir_len] == '/') return filename + curdir_len + 1; ! else return filename; } --- 127,152 ---- curdir_len = strlen(dir); } + static bool + startswith(const char *f, const char *s, size_t len) + { + return strncmp(f, s, len) == 0 && f[len] == '/'; + } + static const char * simplify(const char *filename) { ! if (startswith(filename, curdir, curdir_len)) return filename + curdir_len + 1; ! else if (startswith(filename, _PATH_DEFSYSPATH, ! sizeof(_PATH_DEFSYSPATH)-1)) { ! size_t sz; ! char *buf; ! sz = strlen(filename) - sizeof(_PATH_DEFSYSPATH)+3; ! buf = emalloc(sz); ! snprintf(buf, sz, "<%s>", filename+sizeof(_PATH_DEFSYSPATH)); ! return buf; ! } else return filename; } *************** *** 472,504 **** } } - #ifdef CLEANUP void - LowParse_Init(void) - { - Static_Lst_Init(&input_stack); - current = NULL; - } - - void - LowParse_End(void) - { - Lst_Destroy(&input_stack, NOFREE); /* Should be empty now */ - #if 0 - Lst_Destroy(&fileNames, (SimpleProc)free); - #endif - } - #endif - - - void Parse_ReportErrors(void) { if (fatal_errors) { - #ifdef CLEANUP - while (Parse_NextFile()) - ; - #endif fprintf(stderr, "Fatal errors encountered -- cannot continue\n"); exit(1); --- 486,495 ----