shithub: vcardfs

ref: 53f2de182c03080309f9661fd483877bcb8f21e8
dir: /README.md/

View raw version
# VCARD filesystem and library

## Contents

- `libvcard`: library for parsing and writing vcard data
- `vcardfs`: vcard filesystem

## Usage

### vcardfs

Usage: vcardfs [-m mtpt] [-s srv] [database.vcf]

Default database is at: /usr/$user/lib/vcarddb.vcf

	/mnt/vard/
	   ctl
	   import
	   export
	   John_Doe/
	      export
	      groupname.fn/
	         data
	         group
	         params/
	            ...
	      n/
	         data
	         ...
	      tel/
	         data
	         ...
	   Jane_Doe/
	      ...

Interaction:

- `rm /mnt/vcard/John_Doe` deletes the whole card
- `rm /mnt/vcard/John_Doe/fn` deletes the selected line
- `rm /mnt/vcard/John_Doe/fn/params/type` deletes the param
- `rm /mnt/vcard/John_Doe/fn/group` will delete the group association (not implemented yet)

Future plans:

- export: line breaks
- import: update existing entries (how?)
- files: output with newline at the end?

Known bugs:

- deleting files potentially leads to memory leaks, as the destroy function isn't called properly (see comment there)

### libvcard

- see `libvcard/vcard.h`
- `Vcard* vcparse(char *str)`
- `Vcard* vcparsefile(char *file)`
- `char* vcmserialize(Vcard*)`
- ...