Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make make(1): indent arch.c with tabs instead of spaces
details: https://anonhg.NetBSD.org/src/rev/c9ade7266fdc
branches: trunk
changeset: 946321:c9ade7266fdc
user: rillig <rillig%NetBSD.org@localhost>
date: Mon Nov 23 19:02:54 2020 +0000
description:
make(1): indent arch.c with tabs instead of spaces
diffstat:
usr.bin/make/arch.c | 1234 +++++++++++++++++++++++++-------------------------
1 files changed, 628 insertions(+), 606 deletions(-)
diffs (truncated from 1463 to 300 lines):
diff -r 80f5f92dc0a5 -r c9ade7266fdc usr.bin/make/arch.c
--- a/usr.bin/make/arch.c Mon Nov 23 18:24:05 2020 +0000
+++ b/usr.bin/make/arch.c Mon Nov 23 19:02:54 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: arch.c,v 1.177 2020/11/14 21:29:44 rillig Exp $ */
+/* $NetBSD: arch.c,v 1.178 2020/11/23 19:02:54 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -125,7 +125,7 @@
#include "config.h"
/* "@(#)arch.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: arch.c,v 1.177 2020/11/14 21:29:44 rillig Exp $");
+MAKE_RCSID("$NetBSD: arch.c,v 1.178 2020/11/23 19:02:54 rillig Exp $");
typedef struct List ArchList;
typedef struct ListNode ArchListNode;
@@ -133,11 +133,11 @@
static ArchList *archives; /* The archives we've already examined */
typedef struct Arch {
- char *name; /* Name of archive */
- HashTable members; /* All the members of the archive described
+ char *name; /* Name of archive */
+ HashTable members; /* All the members of the archive described
* by <name, struct ar_hdr *> key/value pairs */
- char *fnametab; /* Extended name table strings */
- size_t fnamesize; /* Size of the string table */
+ char *fnametab; /* Extended name table strings */
+ size_t fnamesize; /* Size of the string table */
} Arch;
static FILE *ArchFindMember(const char *, const char *,
@@ -151,18 +151,18 @@
static void
ArchFree(void *ap)
{
- Arch *a = ap;
- HashIter hi;
+ Arch *a = ap;
+ HashIter hi;
- /* Free memory from hash entries */
- HashIter_Init(&hi, &a->members);
- while (HashIter_Next(&hi) != NULL)
- free(hi.entry->value);
+ /* Free memory from hash entries */
+ HashIter_Init(&hi, &a->members);
+ while (HashIter_Next(&hi) != NULL)
+ free(hi.entry->value);
- free(a->name);
- free(a->fnametab);
- HashTable_Done(&a->members);
- free(a);
+ free(a->name);
+ free(a->fnametab);
+ HashTable_Done(&a->members);
+ free(a);
}
#endif
@@ -185,203 +185,211 @@
Boolean
Arch_ParseArchive(char **pp, GNodeList *nodeLst, GNode *ctxt)
{
- char *cp; /* Pointer into line */
- GNode *gn; /* New node */
- char *libName; /* Library-part of specification */
- char *libName_freeIt = NULL;
- char *memName; /* Member-part of specification */
- char saveChar; /* Ending delimiter of member-name */
- Boolean expandLibName; /* Whether the parsed libName contains
+ char *cp; /* Pointer into line */
+ GNode *gn; /* New node */
+ char *libName; /* Library-part of specification */
+ char *libName_freeIt = NULL;
+ char *memName; /* Member-part of specification */
+ char saveChar; /* Ending delimiter of member-name */
+ Boolean expandLibName; /* Whether the parsed libName contains
* variable expressions that need to be
* expanded */
- libName = *pp;
- expandLibName = FALSE;
-
- for (cp = libName; *cp != '(' && *cp != '\0';) {
- if (*cp == '$') {
- /*
- * Variable spec, so call the Var module to parse the puppy
- * so we can safely advance beyond it...
- */
- const char *nested_p = cp;
- void *result_freeIt;
- const char *result;
- Boolean isError;
+ libName = *pp;
+ expandLibName = FALSE;
- /* XXX: is expanded twice: once here and once below */
- (void)Var_Parse(&nested_p, ctxt, VARE_WANTRES | VARE_UNDEFERR,
- &result, &result_freeIt);
- /* TODO: handle errors */
- isError = result == var_Error;
- free(result_freeIt);
- if (isError)
- return FALSE;
-
- expandLibName = TRUE;
- cp += nested_p - cp;
- } else
- cp++;
- }
-
- *cp++ = '\0';
- if (expandLibName) {
- (void)Var_Subst(libName, ctxt, VARE_WANTRES | VARE_UNDEFERR, &libName);
- /* TODO: handle errors */
- libName_freeIt = libName;
- }
-
+ for (cp = libName; *cp != '(' && *cp != '\0';) {
+ if (*cp == '$') {
+ /* Expand nested variable expressions. */
+ /* XXX: This code can probably be shortened. */
+ const char *nested_p = cp;
+ void *result_freeIt;
+ const char *result;
+ Boolean isError;
- for (;;) {
- /*
- * First skip to the start of the member's name, mark that
- * place and skip to the end of it (either white-space or
- * a close paren).
- */
- Boolean doSubst = FALSE; /* TRUE if need to substitute in memName */
-
- pp_skip_whitespace(&cp);
+ /* XXX: is expanded twice: once here and once below */
+ (void)Var_Parse(&nested_p, ctxt,
+ VARE_WANTRES | VARE_UNDEFERR,
+ &result, &result_freeIt);
+ /* TODO: handle errors */
+ isError = result == var_Error;
+ free(result_freeIt);
+ if (isError)
+ return FALSE;
- memName = cp;
- while (*cp != '\0' && *cp != ')' && !ch_isspace(*cp)) {
- if (*cp == '$') {
- /*
- * Variable spec, so call the Var module to parse the puppy
- * so we can safely advance beyond it...
- */
- void *freeIt;
- const char *result;
- Boolean isError;
- const char *nested_p = cp;
-
- (void)Var_Parse(&nested_p, ctxt, VARE_WANTRES | VARE_UNDEFERR,
- &result, &freeIt);
- /* TODO: handle errors */
- isError = result == var_Error;
- free(freeIt);
-
- if (isError)
- return FALSE;
-
- doSubst = TRUE;
- cp += nested_p - cp;
- } else {
- cp++;
- }
+ expandLibName = TRUE;
+ cp += nested_p - cp;
+ } else
+ cp++;
}
- /*
- * If the specification ends without a closing parenthesis,
- * chances are there's something wrong (like a missing backslash),
- * so it's better to return failure than allow such things to happen
- */
- if (*cp == '\0') {
- Parse_Error(PARSE_FATAL, "No closing parenthesis in archive specification");
- return FALSE;
- }
-
- /*
- * If we didn't move anywhere, we must be done
- */
- if (cp == memName) {
- break;
+ *cp++ = '\0';
+ if (expandLibName) {
+ (void)Var_Subst(libName, ctxt, VARE_WANTRES | VARE_UNDEFERR,
+ &libName);
+ /* TODO: handle errors */
+ libName_freeIt = libName;
}
- saveChar = *cp;
- *cp = '\0';
+
+ for (;;) {
+ /*
+ * First skip to the start of the member's name, mark that
+ * place and skip to the end of it (either white-space or
+ * a close paren).
+ */
+ Boolean doSubst = FALSE;
+
+ pp_skip_whitespace(&cp);
- /*
- * XXX: This should be taken care of intelligently by
- * SuffExpandChildren, both for the archive and the member portions.
- */
- /*
- * If member contains variables, try and substitute for them.
- * This will slow down archive specs with dynamic sources, of course,
- * since we'll be (non-)substituting them three times, but them's
- * the breaks -- we need to do this since SuffExpandChildren calls
- * us, otherwise we could assume the thing would be taken care of
- * later.
- */
- if (doSubst) {
- char *buf;
- char *sacrifice;
- char *oldMemName = memName;
+ memName = cp;
+ while (*cp != '\0' && *cp != ')' && !ch_isspace(*cp)) {
+ if (*cp == '$') {
+ /* Expand nested variable expressions. */
+ /* XXX: This code can probably be shortened. */
+ void *freeIt;
+ const char *result;
+ Boolean isError;
+ const char *nested_p = cp;
+
+ (void)Var_Parse(&nested_p, ctxt,
+ VARE_WANTRES | VARE_UNDEFERR,
+ &result, &freeIt);
+ /* TODO: handle errors */
+ isError = result == var_Error;
+ free(freeIt);
- (void)Var_Subst(memName, ctxt, VARE_WANTRES | VARE_UNDEFERR,
- &memName);
- /* TODO: handle errors */
+ if (isError)
+ return FALSE;
- /*
- * Now form an archive spec and recurse to deal with nested
- * variables and multi-word variable values.... The results
- * are just placed at the end of the nodeLst we're returning.
- */
- buf = sacrifice = str_concat4(libName, "(", memName, ")");
+ doSubst = TRUE;
+ cp += nested_p - cp;
+ } else {
+ cp++;
+ }
+ }
- if (strchr(memName, '$') != NULL &&
- strcmp(memName, oldMemName) == 0) {
/*
- * Must contain dynamic sources, so we can't deal with it now.
- * Just create an ARCHV node for the thing and let
- * SuffExpandChildren handle it...
+ * If the specification ends without a closing parenthesis,
+ * chances are there's something wrong (like a missing
+ * backslash), so it's better to return failure than allow
+ * such things to happen
*/
- gn = Targ_GetNode(buf);
- gn->type |= OP_ARCHV;
- Lst_Append(nodeLst, gn);
+ if (*cp == '\0') {
+ Parse_Error(PARSE_FATAL,
+ "No closing parenthesis "
+ "in archive specification");
+ return FALSE;
+ }
+
+ /*
+ * If we didn't move anywhere, we must be done
+ */
+ if (cp == memName)
+ break;
+
+ saveChar = *cp;
+ *cp = '\0';
Home |
Main Index |
Thread Index |
Old Index