--- /dev/null
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "delpass.h"
+
+void delpass(char* file) {
+ // パスを準備
+ char pwfile[512];
+ char* homedir = getenv("HOME");
+ if (homedir == NULL) {
+ perror("ホームディレクトリを受取に失敗。");
+ return;
+ }
+
+ char* basedir = "/.local/share/sp/";
+ char* ext = ".gpg";
+ snprintf(pwfile, sizeof(pwfile), "%s%s%s%s", homedir, basedir, file, ext);
+
+ if (unlink(pwfile) == -1) {
+ perror("パスワードを削除出来ませんですた。");
+ }
+
+ printf("パスワードを削除しました。\n");
+ return;
+}
void initpass(char* gpgid);
#include "showpass.h"
#include "yankpass.h"
-void listpass(char* dir);
+void listpass();
#include "addpass.h"
-void delpass(char* file);
+#include "delpass.h"
void genpass(char* file, int count, bool issecure);
void otppass(char* file);
void helpme();
const char* sofname = "sp";
-const char* version = "0.0.1";
+const char* version = "1.0.0";
void helpme() {
printf("使い方:\n");
printf("%s -y <パスワード名> :パスワードを表示せずクリップボードにコピーする\n", sofname);
//printf("%s -l :パスワード一覧を表示\n", sofname);
printf("%s -a <パスワード名> :パスワードを追加\n", sofname);
- //printf("%s -d <パスワード名> :パスワードを削除\n", sofname);
+ printf("%s -d <パスワード名> :パスワードを削除\n", sofname);
//printf("%s -g <文字数> [risk|secure] <パスワード名> :希望文字数でパスワードをランダムに作成する。risk=英数字のみ(不安)、secure=英数字+特別文字(デフォルト)を使用\n", sofname);
//printf("%s -o <パスワード名>\n :ワンタイムパスワード(TOTP)を表示。存在しなければ、創作する", sofname);
printf("%s -h :ヘルプを表示\n", sofname);
else if (argc == 3 && strcmp(argv[1], "-y") == 0) yankpass(argv[2]);
else if (argc == 2 && strcmp(argv[1], "-l") == 0) printf("TODO: 一覧\n");
else if (argc == 3 && strcmp(argv[1], "-a") == 0) addpass(argv[2]);
- else if (argc == 3 && strcmp(argv[1], "-d") == 0) printf("TODO: 削除\n");
+ else if (argc == 3 && strcmp(argv[1], "-d") == 0) delpass(argv[2]);
else if ((argc == 4 || argc == 5) && strcmp(argv[1], "-g") == 0) printf("TODO: パスワードを創作\n");
else if (argc == 3 && strcmp(argv[1], "-o") == 0) printf("TODO: otp\n");
else if (argc == 2 && strcmp(argv[1], "-v") == 0) printf("%s-%s\n", sofname, version);