mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-18 04:10:57 +01:00
started to implement pbp compatibility, added support for multiple -r options,
using it now to look through the vault for recipients, -i to follow. current state: encrypt produces output without errors or crashes; decrypt is incompatible for the moment.
This commit is contained in:
@@ -19,37 +19,58 @@
|
||||
You can contact me by mail: <tlinden AT cpan DOT org>.
|
||||
*/
|
||||
|
||||
|
||||
// used for recipient- or keyid lists
|
||||
/*
|
||||
Simple linked list wrappers,
|
||||
used for recipient- or keyid lists
|
||||
*/
|
||||
|
||||
#ifndef _HAVE_PCP_PLIST_H
|
||||
#define _HAVE_PCP_PLIST_H
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
struct _plist_t {
|
||||
char *value;
|
||||
struct _plist_t *next;
|
||||
struct _plist_t *first;
|
||||
};
|
||||
|
||||
typedef struct _plist_t plist_t;
|
||||
|
||||
static inline void p_add(plist_t **lst, char *value) {
|
||||
plist_t *newitem;
|
||||
plist_t *lst_iter = *lst;
|
||||
plist_t *iter = *lst;
|
||||
|
||||
newitem = (plist_t *)malloc(sizeof(plist_t));
|
||||
newitem->value = malloc(strlen(value) + 1);
|
||||
strncpy(newitem->value, value, strlen(value) + 1);
|
||||
newitem->next = NULL;
|
||||
|
||||
if ( lst_iter != NULL ) {
|
||||
while (lst_iter->next != NULL )
|
||||
lst_iter = lst_iter->next;
|
||||
lst_iter->next = newitem;
|
||||
if ( iter != NULL ) {
|
||||
while (iter->next != NULL ) {
|
||||
iter = iter->next;
|
||||
}
|
||||
newitem->first = iter->first;
|
||||
iter->next = newitem;
|
||||
}
|
||||
else
|
||||
else {
|
||||
newitem->first = newitem;
|
||||
*lst = newitem;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void p_clean(plist_t *lst) {
|
||||
plist_t *iter = lst->first;
|
||||
plist_t *tmp;
|
||||
|
||||
while (iter != NULL) {
|
||||
tmp = iter;
|
||||
iter = iter->next;
|
||||
free(tmp->value);
|
||||
free(tmp);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif // _HAVE_PCP_PLIST_H
|
||||
|
||||
38
include/pcp/util.h
Normal file
38
include/pcp/util.h
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
This file is part of Pretty Curved Privacy (pcp1).
|
||||
|
||||
Copyright (C) 2013 T. von Dein.
|
||||
|
||||
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/>.
|
||||
|
||||
You can contact me by mail: <tlinden AT cpan DOT org>.
|
||||
*/
|
||||
|
||||
|
||||
// various helpers
|
||||
|
||||
#ifndef _HAVE_PCP_UTIL_H
|
||||
#define _HAVE_PCP_UTIL_H
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
static inline char *_lc(char *in) {
|
||||
size_t len = strlen(in);
|
||||
int i;
|
||||
for(i=0; i<len; ++i)
|
||||
in[i] = towlower(in[i]);
|
||||
return in;
|
||||
}
|
||||
|
||||
#endif // _HAVE_PCP_UTIL_H
|
||||
Reference in New Issue
Block a user