You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"config","path":"config","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".travis.yml","path":".travis.yml","contentType":"file"},{"name":"AUTHORS","path":"AUTHORS","contentType":"file"},{"name":"COPYING","path":"COPYING","contentType":"file"},{"name":"ChangeLog","path":"ChangeLog","contentType":"file"},{"name":"Makefile.am","path":"Makefile.am","contentType":"file"},{"name":"NEWS","path":"NEWS","contentType":"file"},{"name":"README","path":"README","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"TODO","path":"TODO","contentType":"file"},{"name":"browsers.c","path":"browsers.c","contentType":"file"},{"name":"browsers.h","path":"browsers.h","contentType":"file"},{"name":"commons.c","path":"commons.c","contentType":"file"},{"name":"commons.h","path":"commons.h","contentType":"file"},{"name":"configure.ac","path":"configure.ac","contentType":"file"},{"name":"csv.c","path":"csv.c","contentType":"file"},{"name":"csv.h","path":"csv.h","contentType":"file"},{"name":"error.c","path":"error.c","contentType":"file"},{"name":"error.h","path":"error.h","contentType":"file"},{"name":"gdashboard.c","path":"gdashboard.c","contentType":"file"},{"name":"gdashboard.h","path":"gdashboard.h","contentType":"file"},{"name":"gdns.c","path":"gdns.c","contentType":"file"},{"name":"gdns.h","path":"gdns.h","contentType":"file"},{"name":"geolocation.c","path":"geolocation.c","contentType":"file"},{"name":"geolocation.h","path":"geolocation.h","contentType":"file"},{"name":"glibht.c","path":"glibht.c","contentType":"file"},{"name":"glibht.h","path":"glibht.h","contentType":"file"},{"name":"gmenu.c","path":"gmenu.c","contentType":"file"},{"name":"gmenu.h","path":"gmenu.h","contentType":"file"},{"name":"goaccess.1","path":"goaccess.1","contentType":"file"},{"name":"goaccess.c","path":"goaccess.c","contentType":"file"},{"name":"goaccess.h","path":"goaccess.h","contentType":"file"},{"name":"json.c","path":"json.c","contentType":"file"},{"name":"json.h","path":"json.h","contentType":"file"},{"name":"opesys.c","path":"opesys.c","contentType":"file"},{"name":"opesys.h","path":"opesys.h","contentType":"file"},{"name":"options.c","path":"options.c","contentType":"file"},{"name":"options.h","path":"options.h","contentType":"file"},{"name":"output.c","path":"output.c","contentType":"file"},{"name":"output.h","path":"output.h","contentType":"file"},{"name":"parser.c","path":"parser.c","contentType":"file"},{"name":"parser.h","path":"parser.h","contentType":"file"},{"name":"settings.c","path":"settings.c","contentType":"file"},{"name":"settings.h","path":"settings.h","contentType":"file"},{"name":"tcabinet.c","path":"tcabinet.c","contentType":"file"},{"name":"tcabinet.h","path":"tcabinet.h","contentType":"file"},{"name":"ui.c","path":"ui.c","contentType":"file"},{"name":"ui.h","path":"ui.h","contentType":"file"},{"name":"util.c","path":"util.c","contentType":"file"},{"name":"util.h","path":"util.h","contentType":"file"},{"name":"xmalloc.c","path":"xmalloc.c","contentType":"file"},{"name":"xmalloc.h","path":"xmalloc.h","contentType":"file"}],"totalCount":53}},"fileTreeProcessingTime":10.347979,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":25494841,"defaultBranch":"master","name":"goaccess","ownerLogin":"no2key","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2014-10-21T01:09:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2669136?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1632814583.330142","canEdit":false,"refType":"branch","currentOid":"55faa5e03180cb73c33f6a6d46a2f550b14fbb0f"},"path":"util.h","currentUser":null,"blob":{"rawLines":["/**"," * Copyright (C) 2009-2014 by Gerardo Orellana \u003cgoaccess@prosoftcorp.com\u003e"," * GoAccess - An Ncurses apache weblog analyzer \u0026 interactive viewer"," *"," * This program is free software; you can redistribute it and/or"," * modify it under the terms of the GNU General Public License as"," * published by the Free Software Foundation; either version 2 of"," * the License, or (at your option) any later version."," *"," * This program is distributed in the hope that it will be useful,"," * but WITHOUT ANY WARRANTY; without even the implied warranty of"," * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"," * GNU General Public License for more details."," *"," * A copy of the GNU General Public License is attached to this"," * source distribution for its full text."," *"," * Visit http://goaccess.prosoftcorp.com for new releases."," */","","#ifndef UTIL_H_INCLUDED","#define UTIL_H_INCLUDED","","#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))","","#define REGEX_ERROR 100","#define DATE_LEN 12 /* date length */","#define KB 1024","#define MB (KB * 1024)","#define GB (MB * 1024)","","#define MILS 1000ULL","#define SECS 1000000ULL","#define MINS 60000000ULL","#define HOUR 3600000000ULL","","/* *INDENT-OFF* */","#include \u003cstdint.h\u003e","#include \u003csys/types.h\u003e","","char *alloc_string (const char *str);","char *char_repeat (int n, char c);","char *char_replace (char *str, char o, char n);","char *convert_date (char *result, char *data, const char *from, const char *to, int size);","char *deblank (char *str);","char *escape_str (const char *src);","char *filesize_str (unsigned long long log_size);","char *float_to_str (float num);","char *get_global_config (void);","char *get_home (void);","char *int_to_str (int d);","char *left_pad_str (const char *s, int indent);","char *ltrim (char *s);","char *replace_str (const char *str, const char *old, const char *new);","char *rtrim (char *s);","char *secs_to_str (int secs);","char *substring (const char *str, int begin, int len);","char *trim_str (char *str);","char *unescape_str (const char *src);","char *usecs_to_str (unsigned long long usec);","const char *verify_status_code (char *str);","const char *verify_status_code_type (const char *str);","int count_matches (const char *s1, char c);","int ignore_referer (const char *ref);","int intlen (int num);","int invalid_ipaddr (char *str);","int ip_in_range (const char *ip);","int wc_match(char *wc, char * str);","off_t file_size (const char *filename);","uint32_t ip_to_binary (const char *ip);","void strip_newlines (char *str);","void str_to_upper (char *s);","void xstrncpy (char *dest, const char *source, const size_t dest_size);","","/* *INDENT-ON* */","","#endif"],"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/no2key/goaccess/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"util.h","displayUrl":"https://github.com/no2key/goaccess/blob/master/util.h?raw=true","headerInfo":{"blobSize":"2.6 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"95350b4","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fno2key%2Fgoaccess%2Fblob%2Fmaster%2Futil.h","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"77","truncatedSloc":"69"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"C","languageID":41,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/no2key/goaccess/blob/master/util.h","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/no2key/goaccess/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/no2key/goaccess/raw/refs/heads/master/util.h","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"UTIL_H_INCLUDED","kind":"macro","ident_start":859,"ident_end":874,"extent_start":851,"extent_end":875,"fully_qualified_name":"UTIL_H_INCLUDED","ident_utf16":{"start":{"line_number":21,"utf16_col":8},"end":{"line_number":21,"utf16_col":23}},"extent_utf16":{"start":{"line_number":21,"utf16_col":0},"end":{"line_number":22,"utf16_col":0}}},{"name":"REGEX_ERROR","kind":"macro","ident_start":934,"ident_end":945,"extent_start":926,"extent_end":955,"fully_qualified_name":"REGEX_ERROR","ident_utf16":{"start":{"line_number":25,"utf16_col":8},"end":{"line_number":25,"utf16_col":19}},"extent_utf16":{"start":{"line_number":25,"utf16_col":0},"end":{"line_number":26,"utf16_col":0}}},{"name":"DATE_LEN","kind":"macro","ident_start":963,"ident_end":971,"extent_start":955,"extent_end":1005,"fully_qualified_name":"DATE_LEN","ident_utf16":{"start":{"line_number":26,"utf16_col":8},"end":{"line_number":26,"utf16_col":16}},"extent_utf16":{"start":{"line_number":26,"utf16_col":0},"end":{"line_number":27,"utf16_col":0}}},{"name":"KB","kind":"macro","ident_start":1013,"ident_end":1015,"extent_start":1005,"extent_end":1035,"fully_qualified_name":"KB","ident_utf16":{"start":{"line_number":27,"utf16_col":8},"end":{"line_number":27,"utf16_col":10}},"extent_utf16":{"start":{"line_number":27,"utf16_col":0},"end":{"line_number":28,"utf16_col":0}}},{"name":"MB","kind":"macro","ident_start":1043,"ident_end":1045,"extent_start":1035,"extent_end":1072,"fully_qualified_name":"MB","ident_utf16":{"start":{"line_number":28,"utf16_col":8},"end":{"line_number":28,"utf16_col":10}},"extent_utf16":{"start":{"line_number":28,"utf16_col":0},"end":{"line_number":29,"utf16_col":0}}},{"name":"GB","kind":"macro","ident_start":1080,"ident_end":1082,"extent_start":1072,"extent_end":1109,"fully_qualified_name":"GB","ident_utf16":{"start":{"line_number":29,"utf16_col":8},"end":{"line_number":29,"utf16_col":10}},"extent_utf16":{"start":{"line_number":29,"utf16_col":0},"end":{"line_number":30,"utf16_col":0}}},{"name":"MILS","kind":"macro","ident_start":1118,"ident_end":1122,"extent_start":1110,"extent_end":1143,"fully_qualified_name":"MILS","ident_utf16":{"start":{"line_number":31,"utf16_col":8},"end":{"line_number":31,"utf16_col":12}},"extent_utf16":{"start":{"line_number":31,"utf16_col":0},"end":{"line_number":32,"utf16_col":0}}},{"name":"SECS","kind":"macro","ident_start":1151,"ident_end":1155,"extent_start":1143,"extent_end":1179,"fully_qualified_name":"SECS","ident_utf16":{"start":{"line_number":32,"utf16_col":8},"end":{"line_number":32,"utf16_col":12}},"extent_utf16":{"start":{"line_number":32,"utf16_col":0},"end":{"line_number":33,"utf16_col":0}}},{"name":"MINS","kind":"macro","ident_start":1187,"ident_end":1191,"extent_start":1179,"extent_end":1216,"fully_qualified_name":"MINS","ident_utf16":{"start":{"line_number":33,"utf16_col":8},"end":{"line_number":33,"utf16_col":12}},"extent_utf16":{"start":{"line_number":33,"utf16_col":0},"end":{"line_number":34,"utf16_col":0}}},{"name":"HOUR","kind":"macro","ident_start":1224,"ident_end":1228,"extent_start":1216,"extent_end":1255,"fully_qualified_name":"HOUR","ident_utf16":{"start":{"line_number":34,"utf16_col":8},"end":{"line_number":34,"utf16_col":12}},"extent_utf16":{"start":{"line_number":34,"utf16_col":0},"end":{"line_number":35,"utf16_col":0}}},{"name":"alloc_string","kind":"function","ident_start":1325,"ident_end":1337,"extent_start":1325,"extent_end":1355,"fully_qualified_name":"alloc_string","ident_utf16":{"start":{"line_number":40,"utf16_col":6},"end":{"line_number":40,"utf16_col":18}},"extent_utf16":{"start":{"line_number":40,"utf16_col":6},"end":{"line_number":40,"utf16_col":36}}},{"name":"char_repeat","kind":"function","ident_start":1363,"ident_end":1374,"extent_start":1363,"extent_end":1390,"fully_qualified_name":"char_repeat","ident_utf16":{"start":{"line_number":41,"utf16_col":6},"end":{"line_number":41,"utf16_col":17}},"extent_utf16":{"start":{"line_number":41,"utf16_col":6},"end":{"line_number":41,"utf16_col":33}}},{"name":"char_replace","kind":"function","ident_start":1398,"ident_end":1410,"extent_start":1398,"extent_end":1438,"fully_qualified_name":"char_replace","ident_utf16":{"start":{"line_number":42,"utf16_col":6},"end":{"line_number":42,"utf16_col":18}},"extent_utf16":{"start":{"line_number":42,"utf16_col":6},"end":{"line_number":42,"utf16_col":46}}},{"name":"convert_date","kind":"function","ident_start":1446,"ident_end":1458,"extent_start":1446,"extent_end":1529,"fully_qualified_name":"convert_date","ident_utf16":{"start":{"line_number":43,"utf16_col":6},"end":{"line_number":43,"utf16_col":18}},"extent_utf16":{"start":{"line_number":43,"utf16_col":6},"end":{"line_number":43,"utf16_col":89}}},{"name":"deblank","kind":"function","ident_start":1537,"ident_end":1544,"extent_start":1537,"extent_end":1556,"fully_qualified_name":"deblank","ident_utf16":{"start":{"line_number":44,"utf16_col":6},"end":{"line_number":44,"utf16_col":13}},"extent_utf16":{"start":{"line_number":44,"utf16_col":6},"end":{"line_number":44,"utf16_col":25}}},{"name":"escape_str","kind":"function","ident_start":1564,"ident_end":1574,"extent_start":1564,"extent_end":1592,"fully_qualified_name":"escape_str","ident_utf16":{"start":{"line_number":45,"utf16_col":6},"end":{"line_number":45,"utf16_col":16}},"extent_utf16":{"start":{"line_number":45,"utf16_col":6},"end":{"line_number":45,"utf16_col":34}}},{"name":"filesize_str","kind":"function","ident_start":1600,"ident_end":1612,"extent_start":1600,"extent_end":1642,"fully_qualified_name":"filesize_str","ident_utf16":{"start":{"line_number":46,"utf16_col":6},"end":{"line_number":46,"utf16_col":18}},"extent_utf16":{"start":{"line_number":46,"utf16_col":6},"end":{"line_number":46,"utf16_col":48}}},{"name":"float_to_str","kind":"function","ident_start":1650,"ident_end":1662,"extent_start":1650,"extent_end":1674,"fully_qualified_name":"float_to_str","ident_utf16":{"start":{"line_number":47,"utf16_col":6},"end":{"line_number":47,"utf16_col":18}},"extent_utf16":{"start":{"line_number":47,"utf16_col":6},"end":{"line_number":47,"utf16_col":30}}},{"name":"get_global_config","kind":"function","ident_start":1682,"ident_end":1699,"extent_start":1682,"extent_end":1706,"fully_qualified_name":"get_global_config","ident_utf16":{"start":{"line_number":48,"utf16_col":6},"end":{"line_number":48,"utf16_col":23}},"extent_utf16":{"start":{"line_number":48,"utf16_col":6},"end":{"line_number":48,"utf16_col":30}}},{"name":"get_home","kind":"function","ident_start":1714,"ident_end":1722,"extent_start":1714,"extent_end":1729,"fully_qualified_name":"get_home","ident_utf16":{"start":{"line_number":49,"utf16_col":6},"end":{"line_number":49,"utf16_col":14}},"extent_utf16":{"start":{"line_number":49,"utf16_col":6},"end":{"line_number":49,"utf16_col":21}}},{"name":"int_to_str","kind":"function","ident_start":1737,"ident_end":1747,"extent_start":1737,"extent_end":1755,"fully_qualified_name":"int_to_str","ident_utf16":{"start":{"line_number":50,"utf16_col":6},"end":{"line_number":50,"utf16_col":16}},"extent_utf16":{"start":{"line_number":50,"utf16_col":6},"end":{"line_number":50,"utf16_col":24}}},{"name":"left_pad_str","kind":"function","ident_start":1763,"ident_end":1775,"extent_start":1763,"extent_end":1803,"fully_qualified_name":"left_pad_str","ident_utf16":{"start":{"line_number":51,"utf16_col":6},"end":{"line_number":51,"utf16_col":18}},"extent_utf16":{"start":{"line_number":51,"utf16_col":6},"end":{"line_number":51,"utf16_col":46}}},{"name":"ltrim","kind":"function","ident_start":1811,"ident_end":1816,"extent_start":1811,"extent_end":1826,"fully_qualified_name":"ltrim","ident_utf16":{"start":{"line_number":52,"utf16_col":6},"end":{"line_number":52,"utf16_col":11}},"extent_utf16":{"start":{"line_number":52,"utf16_col":6},"end":{"line_number":52,"utf16_col":21}}},{"name":"replace_str","kind":"function","ident_start":1834,"ident_end":1845,"extent_start":1834,"extent_end":1897,"fully_qualified_name":"replace_str","ident_utf16":{"start":{"line_number":53,"utf16_col":6},"end":{"line_number":53,"utf16_col":17}},"extent_utf16":{"start":{"line_number":53,"utf16_col":6},"end":{"line_number":53,"utf16_col":69}}},{"name":"rtrim","kind":"function","ident_start":1905,"ident_end":1910,"extent_start":1905,"extent_end":1920,"fully_qualified_name":"rtrim","ident_utf16":{"start":{"line_number":54,"utf16_col":6},"end":{"line_number":54,"utf16_col":11}},"extent_utf16":{"start":{"line_number":54,"utf16_col":6},"end":{"line_number":54,"utf16_col":21}}},{"name":"secs_to_str","kind":"function","ident_start":1928,"ident_end":1939,"extent_start":1928,"extent_end":1950,"fully_qualified_name":"secs_to_str","ident_utf16":{"start":{"line_number":55,"utf16_col":6},"end":{"line_number":55,"utf16_col":17}},"extent_utf16":{"start":{"line_number":55,"utf16_col":6},"end":{"line_number":55,"utf16_col":28}}},{"name":"substring","kind":"function","ident_start":1958,"ident_end":1967,"extent_start":1958,"extent_end":2005,"fully_qualified_name":"substring","ident_utf16":{"start":{"line_number":56,"utf16_col":6},"end":{"line_number":56,"utf16_col":15}},"extent_utf16":{"start":{"line_number":56,"utf16_col":6},"end":{"line_number":56,"utf16_col":53}}},{"name":"trim_str","kind":"function","ident_start":2013,"ident_end":2021,"extent_start":2013,"extent_end":2033,"fully_qualified_name":"trim_str","ident_utf16":{"start":{"line_number":57,"utf16_col":6},"end":{"line_number":57,"utf16_col":14}},"extent_utf16":{"start":{"line_number":57,"utf16_col":6},"end":{"line_number":57,"utf16_col":26}}},{"name":"unescape_str","kind":"function","ident_start":2041,"ident_end":2053,"extent_start":2041,"extent_end":2071,"fully_qualified_name":"unescape_str","ident_utf16":{"start":{"line_number":58,"utf16_col":6},"end":{"line_number":58,"utf16_col":18}},"extent_utf16":{"start":{"line_number":58,"utf16_col":6},"end":{"line_number":58,"utf16_col":36}}},{"name":"usecs_to_str","kind":"function","ident_start":2079,"ident_end":2091,"extent_start":2079,"extent_end":2117,"fully_qualified_name":"usecs_to_str","ident_utf16":{"start":{"line_number":59,"utf16_col":6},"end":{"line_number":59,"utf16_col":18}},"extent_utf16":{"start":{"line_number":59,"utf16_col":6},"end":{"line_number":59,"utf16_col":44}}},{"name":"verify_status_code","kind":"function","ident_start":2131,"ident_end":2149,"extent_start":2131,"extent_end":2161,"fully_qualified_name":"verify_status_code","ident_utf16":{"start":{"line_number":60,"utf16_col":12},"end":{"line_number":60,"utf16_col":30}},"extent_utf16":{"start":{"line_number":60,"utf16_col":12},"end":{"line_number":60,"utf16_col":42}}},{"name":"verify_status_code_type","kind":"function","ident_start":2175,"ident_end":2198,"extent_start":2175,"extent_end":2216,"fully_qualified_name":"verify_status_code_type","ident_utf16":{"start":{"line_number":61,"utf16_col":12},"end":{"line_number":61,"utf16_col":35}},"extent_utf16":{"start":{"line_number":61,"utf16_col":12},"end":{"line_number":61,"utf16_col":53}}},{"name":"count_matches","kind":"function","ident_start":2222,"ident_end":2235,"extent_start":2222,"extent_end":2260,"fully_qualified_name":"count_matches","ident_utf16":{"start":{"line_number":62,"utf16_col":4},"end":{"line_number":62,"utf16_col":17}},"extent_utf16":{"start":{"line_number":62,"utf16_col":4},"end":{"line_number":62,"utf16_col":42}}},{"name":"ignore_referer","kind":"function","ident_start":2266,"ident_end":2280,"extent_start":2266,"extent_end":2298,"fully_qualified_name":"ignore_referer","ident_utf16":{"start":{"line_number":63,"utf16_col":4},"end":{"line_number":63,"utf16_col":18}},"extent_utf16":{"start":{"line_number":63,"utf16_col":4},"end":{"line_number":63,"utf16_col":36}}},{"name":"intlen","kind":"function","ident_start":2304,"ident_end":2310,"extent_start":2304,"extent_end":2320,"fully_qualified_name":"intlen","ident_utf16":{"start":{"line_number":64,"utf16_col":4},"end":{"line_number":64,"utf16_col":10}},"extent_utf16":{"start":{"line_number":64,"utf16_col":4},"end":{"line_number":64,"utf16_col":20}}},{"name":"invalid_ipaddr","kind":"function","ident_start":2326,"ident_end":2340,"extent_start":2326,"extent_end":2352,"fully_qualified_name":"invalid_ipaddr","ident_utf16":{"start":{"line_number":65,"utf16_col":4},"end":{"line_number":65,"utf16_col":18}},"extent_utf16":{"start":{"line_number":65,"utf16_col":4},"end":{"line_number":65,"utf16_col":30}}},{"name":"ip_in_range","kind":"function","ident_start":2358,"ident_end":2369,"extent_start":2358,"extent_end":2386,"fully_qualified_name":"ip_in_range","ident_utf16":{"start":{"line_number":66,"utf16_col":4},"end":{"line_number":66,"utf16_col":15}},"extent_utf16":{"start":{"line_number":66,"utf16_col":4},"end":{"line_number":66,"utf16_col":32}}},{"name":"wc_match","kind":"function","ident_start":2392,"ident_end":2400,"extent_start":2392,"extent_end":2422,"fully_qualified_name":"wc_match","ident_utf16":{"start":{"line_number":67,"utf16_col":4},"end":{"line_number":67,"utf16_col":12}},"extent_utf16":{"start":{"line_number":67,"utf16_col":4},"end":{"line_number":67,"utf16_col":34}}},{"name":"file_size","kind":"function","ident_start":2430,"ident_end":2439,"extent_start":2430,"extent_end":2462,"fully_qualified_name":"file_size","ident_utf16":{"start":{"line_number":68,"utf16_col":6},"end":{"line_number":68,"utf16_col":15}},"extent_utf16":{"start":{"line_number":68,"utf16_col":6},"end":{"line_number":68,"utf16_col":38}}},{"name":"ip_to_binary","kind":"function","ident_start":2473,"ident_end":2485,"extent_start":2473,"extent_end":2502,"fully_qualified_name":"ip_to_binary","ident_utf16":{"start":{"line_number":69,"utf16_col":9},"end":{"line_number":69,"utf16_col":21}},"extent_utf16":{"start":{"line_number":69,"utf16_col":9},"end":{"line_number":69,"utf16_col":38}}},{"name":"strip_newlines","kind":"function","ident_start":2509,"ident_end":2523,"extent_start":2509,"extent_end":2535,"fully_qualified_name":"strip_newlines","ident_utf16":{"start":{"line_number":70,"utf16_col":5},"end":{"line_number":70,"utf16_col":19}},"extent_utf16":{"start":{"line_number":70,"utf16_col":5},"end":{"line_number":70,"utf16_col":31}}},{"name":"str_to_upper","kind":"function","ident_start":2542,"ident_end":2554,"extent_start":2542,"extent_end":2564,"fully_qualified_name":"str_to_upper","ident_utf16":{"start":{"line_number":71,"utf16_col":5},"end":{"line_number":71,"utf16_col":17}},"extent_utf16":{"start":{"line_number":71,"utf16_col":5},"end":{"line_number":71,"utf16_col":27}}},{"name":"xstrncpy","kind":"function","ident_start":2571,"ident_end":2579,"extent_start":2571,"extent_end":2636,"fully_qualified_name":"xstrncpy","ident_utf16":{"start":{"line_number":72,"utf16_col":5},"end":{"line_number":72,"utf16_col":13}},"extent_utf16":{"start":{"line_number":72,"utf16_col":5},"end":{"line_number":72,"utf16_col":70}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/no2key/goaccess/branches":{"post":"IV0qjhaf9Rk6QwwNnKCCYiOPzTnKuezRMHe8NgcqKZFGqc0og3UUrDF29NV7_Pi5oaHztIUO5ielii6IZ1D4fA"},"/repos/preferences":{"post":"_bM64JSromkUoEJr_7aJns84kxgK9Ow5-rnf_iAMAXPpsy2kp2eZVRbsK3M_mNeXYXvA29ZM_2W8qRCsZM56dg"}}},"title":"goaccess/util.h at master · no2key/goaccess","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1ae9fa256942.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}