パスワード削除機能性で、パスワードが存在ないかどうか確認

このコミットが含まれているのは:
守矢諏訪子 2024-02-01 16:50:03 +09:00
コミット a4f76ab2d9
2個のファイルの変更18行の追加0行の削除

ファイルの表示

@ -3,6 +3,7 @@
* makeを実行したら、バイナリがもっと小さくなる
* パスワードの長さの延長
* パスワード追加機能性で、パスワードが既に存在するかどうか確認
* パスワード削除機能性で、パスワードが存在ないかどうか確認
# 1.1.2
* OpenBSDでのコンパイラーが発生された問題を修正した

ファイルの表示

@ -15,6 +15,23 @@ int delpass(char* file) {
char* basedir = "/.local/share/sp/";
char* ext = ".gpg";
int alllen = snprintf(NULL, 0, "%s%s%s%s", homedir, basedir, file, ext) + 1;
char* gpgpathchk = malloc(alllen);
if (gpgpathchk == NULL) {
perror("メモリを割当に失敗。");
return -1;
}
// ファイルが既に存在するかどうか確認
snprintf(gpgpathchk, alllen, "%s%s%s%s", homedir, basedir, file, ext);
if (access(gpgpathchk, F_OK) != 0) {
fprintf(stderr, "パスワードが存在しません。\n");
free(gpgpathchk);
return -1;
}
free(gpgpathchk);
int needed = snprintf(pwfile, sizeof(pwfile), "%s%s%s%s", homedir, basedir, file, ext);
if (needed >= (int)sizeof(pwfile)) {
fprintf(stderr, "エラー:パスが長すぎる。\n");