Config.cc
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9#include "squid.h"
10#include "cache_cf.h"
11#include "ConfigParser.h"
12#include "debug/Stream.h"
13#include "format/Config.h"
14#include <list>
15
17
18void
20{
21 char *name, *def;
22
23 if ((name = ConfigParser::NextToken()) == nullptr) {
25 return;
26 }
27
28 if ((def = ConfigParser::NextQuotedOrToEol()) == nullptr) {
30 return;
31 }
32
33 debugs(3, 2, "Custom Format for '" << name << "' is '" << def << "'");
34
35 Format *nlf = new Format(name);
36
37 if (!nlf->parse(def)) {
39 return;
40 }
41
42 // add to global config list
43 nlf->next = formats;
44 formats = nlf;
45}
46
47void
49{
50 debugs(46, 2, "register format tokens for '" << nsName << "'");
51 if (tokenArray)
52 tokens.emplace_back(TokenNamespace(nsName, tokenArray));
53 else
54 debugs(0, DBG_CRITICAL, "ERROR: Squid BUG: format tokens for '" << nsName << "' missing!");
55}
56
void self_destruct(void)
Definition: cache_cf.cc:277
static char * NextQuotedOrToEol()
static char * NextToken()
void parseFormats()
Parse a log format directive line (logfile_format)
Definition: Config.cc:19
Format * formats
Linked list of custom formats.
Definition: Config.h:61
void registerTokens(const SBuf &nsName, TokenTableEntry const *tokenArray)
Definition: Config.cc:48
bool parse(const char *def)
Definition: Format.cc:66
Format * next
Definition: Format.h:61
One entry in a table of format tokens.
Definition: SBuf.h:94
#define debugs(SECTION, LEVEL, CONTENT)
Definition: Stream.h:194
#define DBG_CRITICAL
Definition: Stream.h:37
FmtConfig TheConfig
Definition: Config.cc:16
struct tok tokens[]
Definition: parse.c:168

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors