A contact manager with a console interface
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README
basic_types.h
c_utils.c
c_utils.h
clist.h
cpim.c
cpim.h
cvector.h
cxml.c
cxml.h
main.c
premake4.lua

README

CPIM2
=====

This is a console/text based personal information manager,
i.e. a contact manager, written in standard C (C99)

There are 3 branches which each use a different method
of storing the contacts

master uses vector_void which is how I would do it by default
and what I consider the best and simplest way.

vector_template uses vector_contact and vector_attribute
generated using generate_code.py in my C Vector library.

linked_list uses an intrusive doubly linked list and helper
functions and macros based closely on list.h from the Linux
kernel.


I wrote this for the following reasons:

1. To contrast with my really old C PIM project
available here http://www.robertwinkler.com/projects.php

2. As a platform for reaquainting myself with designing
and writing new code.

3. As a reason to improve my C helper libraries and create
more.  Also to have a something to practice using said
libraries.  It's hard to design a library/API without
actually using it.  It also serves as a "real-life" test
suite.  I think real use is the best kind of testing.

4. To increase my Vim knowledge (ok all programming does this)