Revisión | fb3cdbf0588d3c93f7afc23ecd7dbae183e3e71b (tree) |
---|---|
Tiempo | 2017-05-02 20:43:00 |
Autor | T.Furukawa <tfuruka1 at hoge> |
Commiter | T.Furukawa |
mktemp 系の関数が mingw と gcc で統一出来なかったので、条件コンパイルにしました。
@@ -9,6 +9,22 @@ | ||
9 | 9 | #include <windows.h> |
10 | 10 | #include <stdio.h> |
11 | 11 | #include <sys/stat.h> |
12 | +#include <io.h> | |
13 | + | |
14 | +/* | |
15 | + * ファイル名は一時的なバッファです。 | |
16 | + */ | |
17 | +char * | |
18 | +makeTempFile() | |
19 | +{ | |
20 | + static char template[] = "TAGXXXXXX"; | |
21 | + | |
22 | + strcpy(template, "TAGXXXXXX"); | |
23 | + | |
24 | + _mktemp(template); | |
25 | + | |
26 | + return template; | |
27 | +} | |
12 | 28 | |
13 | 29 | BOOL |
14 | 30 | SetClipbordFromFile(char *lpFilename) |
@@ -56,17 +72,34 @@ SetClipbordFromFile(char *lpFilename) | ||
56 | 72 | CloseClipboard(); |
57 | 73 | // Windows によって管理されるのでメモリの解放は不要 |
58 | 74 | |
59 | - return TRUE; | |
75 | + return TRUE; | |
60 | 76 | } |
61 | 77 | |
62 | 78 | #else |
63 | 79 | |
64 | 80 | #include <stdio.h> |
81 | +#include <stdlib.h> | |
82 | +#include <string.h> | |
83 | + | |
84 | +/* | |
85 | + * ファイル名は一時的なバッファです。 | |
86 | + */ | |
87 | +char * | |
88 | +makeTempFile() | |
89 | +{ | |
90 | + static char template[] = "TAGXXXXXX"; | |
91 | + | |
92 | + strcpy(template, "TAGXXXXXX"); | |
93 | + | |
94 | + mkstemp(template); | |
95 | + | |
96 | + return template; | |
97 | +} | |
65 | 98 | |
66 | 99 | int |
67 | 100 | SetClipbordFromFile(char *lpFilename) |
68 | 101 | { |
69 | - printf("未サポートです。\n"); | |
102 | + printf("未サポートです。(%s)\n", lpFilename); | |
70 | 103 | return 0; |
71 | 104 | } |
72 | 105 | #endif //WIN |
@@ -1,4 +1,4 @@ | ||
1 | -/* | |
1 | +/* | |
2 | 2 | * Copyright (C) 2017 T.Furukawa |
3 | 3 | * $Id$ |
4 | 4 | * |
@@ -15,7 +15,6 @@ | ||
15 | 15 | #include <string.h> |
16 | 16 | #include <errno.h> |
17 | 17 | #include <getopt.h> |
18 | -#include <io.h> | |
19 | 18 | #include <unistd.h> |
20 | 19 | |
21 | 20 | #include "base64.h" |
@@ -36,6 +35,9 @@ typedef struct { | ||
36 | 35 | int |
37 | 36 | SetClipbordFromFile(char *lpFinename); |
38 | 37 | |
38 | +char * | |
39 | +makeTempFile(); | |
40 | + | |
39 | 41 | static void |
40 | 42 | help() |
41 | 43 | { |
@@ -140,7 +142,6 @@ main(int argc, char *argv[]) | ||
140 | 142 | int i; |
141 | 143 | int bClip = FALSE; |
142 | 144 | char *tmpfile; |
143 | - char template[] = "TAGXXXXXX"; | |
144 | 145 | FILE *fp = stdout; |
145 | 146 | |
146 | 147 | while (1) { |
@@ -175,8 +176,7 @@ main(int argc, char *argv[]) | ||
175 | 176 | } |
176 | 177 | |
177 | 178 | if (bClip) { |
178 | - tmpfile = template; | |
179 | - mkstemp(template); | |
179 | + tmpfile = makeTempFile(); | |
180 | 180 | if ('\0' == *tmpfile) { |
181 | 181 | perror("mktemp"); |
182 | 182 | return 1; |