パスワード削除機能性で、パスワードが存在ないかどうか確認
このコミットが含まれているのは:
コミット
a4f76ab2d9
|
@ -3,6 +3,7 @@
|
||||||
* makeを実行したら、バイナリがもっと小さくなる
|
* makeを実行したら、バイナリがもっと小さくなる
|
||||||
* パスワードの長さの延長
|
* パスワードの長さの延長
|
||||||
* パスワード追加機能性で、パスワードが既に存在するかどうか確認
|
* パスワード追加機能性で、パスワードが既に存在するかどうか確認
|
||||||
|
* パスワード削除機能性で、パスワードが存在ないかどうか確認
|
||||||
|
|
||||||
# 1.1.2
|
# 1.1.2
|
||||||
* OpenBSDでのコンパイラーが発生された問題を修正した
|
* OpenBSDでのコンパイラーが発生された問題を修正した
|
||||||
|
|
17
delpass.c
17
delpass.c
|
@ -15,6 +15,23 @@ int delpass(char* file) {
|
||||||
|
|
||||||
char* basedir = "/.local/share/sp/";
|
char* basedir = "/.local/share/sp/";
|
||||||
char* ext = ".gpg";
|
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);
|
int needed = snprintf(pwfile, sizeof(pwfile), "%s%s%s%s", homedir, basedir, file, ext);
|
||||||
if (needed >= (int)sizeof(pwfile)) {
|
if (needed >= (int)sizeof(pwfile)) {
|
||||||
fprintf(stderr, "エラー:パスが長すぎる。\n");
|
fprintf(stderr, "エラー:パスが長すぎる。\n");
|
||||||
|
|
読み込み中…
新しいイシューから参照