xaizek / hstr (License: Apachev2) (since 2018-12-07)
Bash and Zsh shell history suggest box - easily view, navigate, search and manage your command history.
<root> / src / include / hashset.h (e357a2fccf5bccf97f3f6512998e91c0702e5b7a) (1,000B) (mode 100644) [raw]
/*
 ============================================================================
 Name        : hashset.h
 Author      : martin.dvorak@midforger.com
 Copyright   : Apache 2.0
 Description : Hash set
 ============================================================================
*/

#ifndef _HASHSET_H_
#define _HASHSET_H_

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#define HASH_MAP_SIZE 10007

struct HashSetNode {
    char *key;
    void *value;
    struct HashSetNode *next;
};

typedef struct {
    struct HashSetNode * lists[HASH_MAP_SIZE];
    int currentSize;
} HashSet;

void hashset_init(HashSet *hs);

int hashset_contains(const HashSet *hs, const char *key);
int hashset_add(HashSet *hs, const char *key);
int hashset_size(const HashSet *hs);

void *hashset_get(const HashSet *hm, const char *key);
int hashset_put(HashSet *hm, const char *key, void *value);
int hashset_remove(HashSet *hm, const char *key);

void hashset_stat(const HashSet *hm);

#endif /* HASHSET_H_ */
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/hstr

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/hstr

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master