diff options
Diffstat (limited to 'toxcore/util.c')
-rw-r--r-- | toxcore/util.c | 84 |
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 | ||
138 | time_t starttime = 0; | ||
139 | size_t logbufferprelen = 0; | ||
140 | char *logbufferpredata = NULL; | ||
141 | char *logbufferprehead = NULL; | ||
142 | char logbuffer[512]; | ||
143 | static FILE *logfile = NULL; | ||
144 | void 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 | }; | ||
173 | void 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 | |||
211 | void logexit() | ||
212 | { | ||
213 | if (logfile) { | ||
214 | fclose(logfile); | ||
215 | logfile = NULL; | ||
216 | } | ||
217 | }; | ||
218 | #endif | ||
219 | |||