commit 4dc8dbd26d26bbdcddd4a6ec45014174abe66484
parent d858b07972812c62d05232668d5c17b8885843bd
Author: Frederic Cambus <fcambus@users.sourceforge.net>
Date: Sun, 21 Jun 2015 22:48:28 +0200
Moving the 'parseLine' function to its own file
Diffstat:
4 files changed, 65 insertions(+), 34 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -16,6 +16,6 @@ include_directories(/usr/local/include)
add_definitions(-Wall -Wextra -Werror -std=c99 -pedantic)
-add_executable(logswan src/logswan.c)
+add_executable(logswan src/logswan.c src/parse.c)
target_link_libraries(logswan ${LIB_GEOIP})
diff --git a/src/logswan.c b/src/logswan.c
@@ -19,11 +19,12 @@
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
-#include <string.h>
#include <time.h>
#include <GeoIP.h>
+#include "parse.h"
+
#define VERSION "Logswan"
#define LINE_MAX_LENGTH 4096
@@ -43,14 +44,6 @@ uint64_t hitsIPv4 = 0;
uint64_t hitsIPv6 = 0;
uint64_t countries[255];
-struct logLine {
- char *remoteHost;
- char *date;
- char *resource;
- char *statusCode;
- char *objectSize;
-};
-
struct logLine parsedLine;
struct sockaddr_in ipv4;
@@ -64,30 +57,6 @@ FILE *logFile;
char *endptr;
int getoptFlag;
-void parseLine(struct logLine* parsedLine, char *lineBuffer) {
- /* Remote host */
- parsedLine->remoteHost = strtok(lineBuffer, " ");
-
- /* User-identifier */
- strtok(NULL, " ");
-
- /* User ID */
- strtok(NULL, "[");
-
- /* Date */
- parsedLine->date = strtok(NULL, "]");
-
- /* Requested resource */
- strtok(NULL, "\"");
- parsedLine->resource = strtok(NULL, "\"");
-
- /* HTTP status codes */
- parsedLine->statusCode = strtok(NULL, " ");
-
- /* Returned object size */
- parsedLine->objectSize = strtok(NULL, "\"");
-}
-
int main (int argc, char *argv[]) {
printf("-------------------------------------------------------------------------------\n" \
" Logswan (c) by Frederic Cambus 2015 \n" \
diff --git a/src/parse.c b/src/parse.c
@@ -0,0 +1,40 @@
+/*****************************************************************************/
+/* */
+/* Logswan (c) by Frederic Cambus 2015 */
+/* https://github.com/fcambus/logswan */
+/* */
+/* Created: 2015/05/31 */
+/* Last Updated: 2015/06/21 */
+/* */
+/* Logswan is released under the BSD 3-Clause license. */
+/* See LICENSE file for details. */
+/* */
+/*****************************************************************************/
+
+#include <string.h>
+
+#include "parse.h"
+
+void parseLine(struct logLine* parsedLine, char *lineBuffer) {
+ /* Remote host */
+ parsedLine->remoteHost = strtok(lineBuffer, " ");
+
+ /* User-identifier */
+ strtok(NULL, " ");
+
+ /* User ID */
+ strtok(NULL, "[");
+
+ /* Date */
+ parsedLine->date = strtok(NULL, "]");
+
+ /* Requested resource */
+ strtok(NULL, "\"");
+ parsedLine->resource = strtok(NULL, "\"");
+
+ /* HTTP status codes */
+ parsedLine->statusCode = strtok(NULL, " ");
+
+ /* Returned object size */
+ parsedLine->objectSize = strtok(NULL, "\"");
+}
diff --git a/src/parse.h b/src/parse.h
@@ -0,0 +1,22 @@
+/*****************************************************************************/
+/* */
+/* Logswan (c) by Frederic Cambus 2015 */
+/* https://github.com/fcambus/logswan */
+/* */
+/* Created: 2015/05/31 */
+/* Last Updated: 2015/06/21 */
+/* */
+/* Logswan is released under the BSD 3-Clause license. */
+/* See LICENSE file for details. */
+/* */
+/*****************************************************************************/
+
+struct logLine {
+ char *remoteHost;
+ char *date;
+ char *resource;
+ char *statusCode;
+ char *objectSize;
+};
+
+void parseLine(struct logLine* parsedLine, char *lineBuffer);