const char* sofname = "odl";
const char* version = "0.3.0";
-const char* avalopt = "opv";
+const char* avalopt = "nopv";
char* filename;
int opt;
+int yokou_flag = 0;
int output_flag = 0;
int version_flag = 0;
int already_flag = 0;
}
}
+void dlsucmsg() {
+ if (yokou_flag == 0) printf("\nダウンロードに完了しました。\n");
+ else {
+ printf("\nダウンロードに完了しました。\n");
+ printf("予行演習モードですので、ファイルを保存していません。\n");
+ printf("保存するには、「-n」フラグを消して下さい。\n");
+ }
+}
+
void flags(int opt, int argc, char* argv[]) {
switch (opt) {
+ case 'n':
+ yokou_flag = 1;
+ break;
case 'o':
handle_o(argc, argv);
break;
curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_callback);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
- FILE* file = fopen(filename, "wb");
+ FILE* file = NULL;
+
+ if (yokou_flag == 0) {
+ file = fopen(filename, "wb");
+ } else {
+ file = fopen("/tmp/odl_test", "wb");
+ }
+
if (!file) {
perror("ファイルを開けません。");
curl_easy_cleanup(curl);
}
curl_easy_setopt(curl, CURLOPT_WRITEDATA, file);
+
long httpcode = 0;
CURLcode res = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &httpcode);
fclose(file);
+ if (yokou_flag == 1) unlink("/tmp/odl_test");
if (res != CURLE_OK) {
- unlink(filename);
+ if (yokou_flag == 0) unlink(filename);
fprintf(stderr, "\nダウンロードに失敗: %s\n", curl_easy_strerror(res));
return -1;
}
if (res == CURLE_ABORTED_BY_CALLBACK || httpcode != 200) {
- unlink(filename);
+ if (yokou_flag == 0) unlink(filename);
fprintf(stderr, "\n%sをダウンロードに失敗: HTTP CODE: %ld\n", filename, httpcode);
return -1;
}
if (dlstat == 0) onedlsuc = 1;
curl_easy_cleanup(curl);
+
if (onedlsuc == 1) {
- printf("\nダウンロードに完了しました。\n");
+ dlsucmsg();
return 0;
}
curl_easy_cleanup(curl);
if (onedlsuc == 1) {
- printf("\nダウンロードに完了しました。\n");
+ dlsucmsg();
return 0;
}
odl - onrain downloader
.SH SYNOPSIS
.B odl
-[-v] [-o \fI\,name\fR \fI\,file\fR] [-p] \fI\,file\fR [\fI\,...\fR]
+[-v] [-o \fI\,name\fR \fI\,file\fR] [-pn] \fI\,file\fR [\fI\,...\fR]
.SH DESCRIPTION
.PP
ネットから簡単にファイルをダウンロード出来るツールです。
.TP
+-\fB\,n\fR \fI\,file\fR \fI\,...\fR
+ファイル保存せずにダウンロードが可能かどうか確認出来る。
+.TP
-\fB\,o\fR \fI\,name\fR \fI\,file\fR
ファイル名を付いてダウンロードします。
それで1回1つのファイルのみダウンロード可能です。