Archived
1
0
Fork 0

updated some headercomments and added HACKING

This commit is contained in:
Henrik Hautakoski 2010-05-18 08:04:44 +02:00 committed by Henrik Hautakoski
parent 9fa5c9eac9
commit 319b76216b
12 changed files with 172 additions and 129 deletions

94
HACKING Normal file
View file

@ -0,0 +1,94 @@
Coding-style
--------------
Statements
----------
If only one statement exist in a statement body. Braces should be skipped,
but not if the structure is nested or followed by multiple if/else, ex:
for(i=0; i < 10; i++)
for(j=0; i < 10; j++)
if (i == j)
foo();
if (a)
foo();
else if (b) {
if (c)
bar();
} else
baz();
instead you should write the above code as:
for(i=0; i < 10; i++) {
for(j=0; i < 10; j++) {
if (i == j)
foo();
}
}
if (a) {
foo();
} else if (b) {
if (c)
bar();
} else {
baz();
}
Avoid using assignment in if()
Functions
---------
We use an extended K&R style, the extension is for functions that can have both there opening bracer on the same line and
directly under it but please don't mix em. We allow both but you should chose one and stick with it.
You should mimic the syntax used around your code, don't mix both formats in one c file.
If you encounter a file with mixed syntax, change it to whatever style you like (you can't break anything ;)
void foo() {
/* body */
}
void bar()
{
/* body */
}
Pointer declaration
-------------------
this should be done in 2 different ways depending on where it's declared:
1: variables are declared like `char *str`, not `char * str` or `char* str`.
2: function return types are declared like `char* function(...);`
this syntax forces the most readable code. ex:
struct list* new_list(char *name);
this format cleary states that name is a pointer of type char and the function returns
a pointer to a struct list
Naming
------
* Never use CamelCase. UPPERCASE for constants and lowercase for variables,functions,macros. words is separated by underscore.
* API functions (that have a prototype in a header file) should be prefixed with the header filename.
One exception exist and that is when the functionality is realy lowlevel and/or generic enough that it
would be redundant to include a prefix. an example of this is a fatal() or die() function that may be prototyped in misc.h.
* Headerguard defines is written like __PATH_TO_THIS_HEADER_H
Documentation
-------------
All API's should be externaly documented in the doc/ directory.
Things to keep in mind when modify or write code
------------------------------------------------
include and change the comment found in TEMPLATE file, at the top of the .c/.h file

View file

@ -1,24 +1,16 @@
/*
* Copyright (C) 2010 Archived
/* arch/db.h - database API
*
* 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 3 of the License, or
* (at your option) any later version.
* Copyright (C) 2010 Fredric Nilsson <fredric@unknown.org>
*
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* 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 3 of the License, or
* (at your option) any later version.
*/
#ifndef _ARCH_DB_H
#ifndef __ARCH_DB_H
#define _ARCH_DB_H
#define __ARCH_DB_H
int arch_db_init(char *host, char *username, char *password, char *database, char *table);
@ -30,4 +22,4 @@ int arch_db_truncate();
void arch_db_close();
#endif /* _DB_DATABASE_H */
#endif /* __ARCH_DB_H */

View file

@ -1,20 +1,11 @@
/*
* arch/mysql.c - Handles database operations
*
* (C) Copyright 2010 Henrik Hautakoski <henrik@unknown.org>
* (C) Copyright 2010 Fredric Nilsson <fredric@unknown.org>
*
* 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 3 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.
/* arch/mysql.c - Mysql implementation
*
* Copyright (C) 2010 Fredric Nilsson <fredric@unknown.org>
*
* 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 3 of the License, or
* (at your option) any later version.
*/
#include <mysql/mysql.h>

View file

@ -1,6 +1,6 @@
/* common/path.c - path string handling routines
/* common/path.c - path handling routines
*
* Copyright (C) 2010 Hernrik Hautakoski <henrik.hautakoski@gmail.com>
* Copyright (C) 2010 Henrik Hautakoski <henrik.hautakoski@gmail.com>
*
* 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

View file

@ -1,3 +1,12 @@
/* common/path.h - path handling routines
*
* Copyright (C) 2010 Henrik Hautakoski <henrik.hautakoski@gmail.com>
*
* 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 3 of the License, or
* (at your option) any later version.
*/
#ifndef __COMMON_PATH_H

View file

@ -1,21 +1,12 @@
/*
* Archived file-system notification
/* fs/notify.h - filesystem notification API
*
* Copyright (C) 2010 Archived
* (C) Copyright 2010 Henrik Hautakoski <henrik.hautakoski@gmail.com>
* (C) Copyright 2010 Fredric Nilsson <fredric@unknown.org>
*
* 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 3 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* 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 3 of the License, or
* (at your option) any later version.
*/
#ifndef _FS_NOTIFY_H

View file

@ -1,20 +1,13 @@
/*
* Copyright (C) 2010 Archived
/* fs/notify_event.c - notify event implementation
*
* (C) Copyright 2010 Henrik Hautakoski <henrik.hautakoski@gmail.com>
* (C) Copyright 2010 Fredric Nilsson <fredric@unknown.org>
*
* 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 3 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* 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 3 of the License, or
* (at your option) any later version.
*/
#include <stdio.h>
#include <malloc.h>
#include <string.h>

View file

@ -1,20 +1,12 @@
/*
* event data-structure and operation's for notify API
/* fs/notify_event.h - event data structure and operation's for notify API
*
* Copyright (C) 2010 Archived
* (C) Copyright 2010 Henrik Hautakoski <henrik.hautakoski@gmail.com>
* (C) Copyright 2010 Fredric Nilsson <fredric@unknown.org>
*
* 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 3 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* 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 3 of the License, or
* (at your option) any later version.
*/
#ifndef _NOTIFY_EVENT_H

View file

@ -1,18 +1,12 @@
/*
* Copyright (C) 2010 Archived
/* fs/notify_inotify.c - inotify implementation
*
* (C) Copyright 2010 Henrik Hautakoski <henrik.hautakoski@gmail.com>
* (C) Copyright 2010 Fredric Nilsson <fredric@unknown.org>
*
* 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 3 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* 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 3 of the License, or
* (at your option) any later version.
*/
#include <unistd.h>
@ -298,5 +292,3 @@ int notify_is_ready() {
return bytes > 512;
}

View file

@ -1,23 +1,12 @@
/*
* -- tree.c
/* fs/tree.c - Filesystem traversal
*
* Copyright (C) 2010 Archived
* (C) Copyright 2010 Henrik Hautakoski <henrik.hautakoski@gmail.com>
*
* 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 3 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* 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 3 of the License, or
* (at your option) any later version.
*/
#include <unistd.h>
#include <string.h>
#include <stdio.h>
@ -201,6 +190,5 @@ struct entry* tree_next_ent(struct tree *tree) {
tree->ent.base = tree->path;
tree->ent.name = &ent->d_name[0];
return &tree->ent;
}

View file

@ -1,3 +1,12 @@
/* fs/tree.h - Filesystem traversal
*
* (C) Copyright 2010 Henrik Hautakoski <henrik.hautakoski@gmail.com>
*
* 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 3 of the License, or
* (at your option) any later version.
*/
#ifndef _FS_TREE_H

View file

@ -1,20 +1,12 @@
/*
* Copyright (C) 2010 Archived
/* indexer.c
*
* (C) Copyright 2010 Henrik Hautakoski <henrik@unknown.org>
*
* 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 3 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* 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 3 of the License, or
* (at your option) any later version.
*/
#include <malloc.h>
#include <string.h>
#include "common/debug.h"