32
33
fprintf(stderr,"util_file_copy: unable to open %s\n", input);
33
ga_error("util_file_copy",0);
34
GA_Error("util_file_copy",0);
36
37
fprintf(stderr,"util_file_copy: unable to open %s\n", output);
37
ga_error("util_file_copy",0);
38
GA_Error("util_file_copy",0);
39
40
while ((nread = fread(buf, 1, sizeof(buf), fin)) > 0)
40
41
if (fwrite(buf, 1, nread, fout) != nread) {
41
42
fprintf(stderr,"util_file_copy: failed writing %s\n", output);
42
ga_error("util_file_copy",0);
43
GA_Error("util_file_copy",0);
46
47
fprintf(stderr,"util_file_copy: failed reading %s\n", input);
47
ga_error("util_file_copy",0);
48
GA_Error("util_file_copy",0);
50
51
(void) fclose(fin);
63
64
FILE *fin=0, *fout=0;
64
65
Integer differ = strcmp(input,output);
66
if (ga_nodeid_() == 0) {
67
if (GA_Nodeid() == 0) {
67
68
if (!(fin = fopen(input, "rb"))) {
68
69
fprintf(stderr,"util_file_copy: unable to open input %s\n", input);
69
ga_error("util_file_parallel_copy",0);
70
GA_Error("util_file_parallel_copy",0);
72
73
if (!(fout = fopen(output, "w+b"))) {
73
74
fprintf(stderr,"util_file_copy: unable to open output %s\n", input);
74
ga_error("util_file_parallel_copy",0);
75
GA_Error("util_file_parallel_copy",0);
78
79
else if (!(fout = fopen(output, "w+b"))) {
79
80
fprintf(stderr,"util_file_copy: unable to open output %s\n", input);
80
ga_error("util_file_parallel_copy",0);
81
GA_Error("util_file_parallel_copy",0);
85
86
Integer nread, msgnread=44,msgbuf=45,msglen=sizeof(Integer),node0=0;
86
if (ga_nodeid_() == 0)
87
88
nread = fread(buf, 1, sizeof(buf), fin);
88
ga_brdcst_(&msgnread, &nread, &msglen, &node0);
89
GA_Brdcst(&nread, msglen, node0);
90
ga_brdcst_(&msgbuf, buf, &nread, &node0);
91
if ((ga_nodeid_() != 0) || (differ != 0)) {
91
GA_Brdcst(buf, nread, node0);
92
if ((GA_Nodeid() != 0) || (differ != 0)) {
92
93
if (fwrite(buf, 1, nread, fout) != nread) {
93
94
fprintf(stderr,"util_file_parallel_copy: failed writing %s\n", output);
94
ga_error("util_file_parallel_copy",0);
95
GA_Error("util_file_parallel_copy",0);
122
123
char in[255], out[255];
123
124
if (!fortchar_to_string(input, lin, in, sizeof(in)))
124
ga_error("util_file_copy: fortchar_to_string failed for in",0);
125
GA_Error("util_file_copy: fortchar_to_string failed for in",0);
125
126
if (!fortchar_to_string(output, lout, out, sizeof(out)))
126
ga_error("util_file_copy: fortchar_to_string failed for out",0);
127
GA_Error("util_file_copy: fortchar_to_string failed for out",0);
127
128
util_file_copy(in, out);