Skip to content

Commit a4c6f73

Browse files
addinf init redact
1 parent e954506 commit a4c6f73

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

redact_pii.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,25 @@ inline const char* redact_pii(const char* input) {
5757
return redact_template;
5858
}
5959
}
60+
61+
inline int redact_pii_len(const char* input, int orig_len) {
62+
size_t tpl_len, input_len;
63+
64+
if (!redact_pii_)
65+
return orig_len;
66+
67+
switch (redact_mode) {
68+
case REDACT_REPLACE:
69+
return (int)strlen(redact_template);
70+
case REDACT_APPEND:
71+
return orig_len + (int)strlen(redact_template);
72+
case REDACT_PREPEND:
73+
return (int)strlen(redact_template) + orig_len;
74+
case REDACT_FORMAT:
75+
input_len = input ? strlen(input) : 0;
76+
tpl_len = redact_fmt.left.len + input_len + redact_fmt.right.len;
77+
return (int)tpl_len;
78+
default:
79+
return (int)strlen(redact_template);
80+
}
81+
}

redact_pii.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,7 @@ extern int redact_mode;
4040
extern redact_log_format_t redact_fmt;
4141

4242
const char* redact_pii(const char* input);
43+
int redact_pii_len(const char* input, int orig_len);
44+
#define REDACT_PII(len, s) redact_pii_len((s), (len)), redact_pii((s))
4345

4446
#endif

0 commit comments

Comments
 (0)