summaryrefslogtreecommitdiff
path: root/toxcore/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'toxcore/util.c')
-rw-r--r--toxcore/util.c84
1 files changed, 0 insertions, 84 deletions
diff --git a/toxcore/util.c b/toxcore/util.c
index 58f0336c..7a2db450 100644
--- a/toxcore/util.c
+++ b/toxcore/util.c
@@ -133,87 +133,3 @@ int load_state(load_state_callback_func load_state_callback, void *outer,
133 133
134 return length == 0 ? 0 : -1; 134 return length == 0 ? 0 : -1;
135}; 135};
136
137#ifdef LOGGING
138time_t starttime = 0;
139size_t logbufferprelen = 0;
140char *logbufferpredata = NULL;
141char *logbufferprehead = NULL;
142char logbuffer[512];
143static FILE *logfile = NULL;
144void loginit(uint16_t port)
145{
146 if (logfile)
147 fclose(logfile);
148
149 if (!starttime) {
150 unix_time_update();
151 starttime = unix_time();
152 }
153
154 struct tm *tm = localtime(&starttime);
155
156 /* "%F %T" might not be Windows compatible */
157 if (strftime(logbuffer + 32, sizeof(logbuffer) - 32, "%F %T", tm))
158 sprintf(logbuffer, "%u-%s.log", ntohs(port), logbuffer + 32);
159 else
160 sprintf(logbuffer, "%u-%lu.log", ntohs(port), starttime);
161
162 logfile = fopen(logbuffer, "w");
163
164 if (logbufferpredata) {
165 if (logfile)
166 fprintf(logfile, "%s", logbufferpredata);
167
168 free(logbufferpredata);
169 logbufferpredata = NULL;
170 }
171
172};
173void loglog(char *text)
174{
175 if (logfile) {
176 fprintf(logfile, "%4u %s", (uint32_t)(unix_time() - starttime), text);
177 fflush(logfile);
178
179 return;
180 }
181
182 /* log messages before file was opened: store */
183
184 size_t len = strlen(text);
185
186 if (!starttime) {
187 unix_time_update();
188 starttime = unix_time();
189
190 logbufferprelen = 1024 + len - (len % 1024);
191 logbufferpredata = malloc(logbufferprelen);
192 logbufferprehead = logbufferpredata;
193 }
194
195 /* loginit() called meanwhile? (but failed to open) */
196 if (!logbufferpredata)
197 return;
198
199 if (len + (logbufferprehead - logbufferpredata) + 16U < logbufferprelen) {
200 size_t logpos = logbufferprehead - logbufferpredata;
201 size_t lennew = logbufferprelen * 1.4;
202 logbufferpredata = realloc(logbufferpredata, lennew);
203 logbufferprehead = logbufferpredata + logpos;
204 logbufferprelen = lennew;
205 }
206
207 int written = sprintf(logbufferprehead, "%4u %s", (uint32_t)(unix_time() - starttime), text);
208 logbufferprehead += written;
209}
210
211void logexit()
212{
213 if (logfile) {
214 fclose(logfile);
215 logfile = NULL;
216 }
217};
218#endif
219