| 120 |
|
RdataShare * |
| 121 |
|
fileDataShare(const char *name, RCOutputOp op, size_t siz) |
| 122 |
|
{ |
| 123 |
+ |
if (op == RCOrecover && access(name, R_OK|W_OK) < 0) { |
| 124 |
+ |
sprintf(errmsg, "cannot recover from '%s'", name); |
| 125 |
+ |
error(SYSTEM, errmsg); |
| 126 |
+ |
return NULL; |
| 127 |
+ |
} |
| 128 |
|
return new RdataShareFile(name, RSDOflags[op], siz); |
| 129 |
|
} |
| 130 |
|
|
| 132 |
|
RdataShare * |
| 133 |
|
mapDataShare(const char *name, RCOutputOp op, size_t siz) |
| 134 |
|
{ |
| 135 |
+ |
if (op == RCOrecover && access(name, R_OK|W_OK) < 0) { |
| 136 |
+ |
sprintf(errmsg, "cannot recover from '%s'", name); |
| 137 |
+ |
error(SYSTEM, errmsg); |
| 138 |
+ |
return NULL; |
| 139 |
+ |
} |
| 140 |
|
return new RdataShareMap(name, RSDOflags[op], siz); |
| 141 |
|
} |
| 142 |
|
|
| 397 |
|
if (rd < 0) |
| 398 |
|
return -1; |
| 399 |
|
if (rd >= op->nRows) { |
| 400 |
< |
if (remWarnings >= 0) { |
| 400 |
> |
if (remWarnings > 0) { |
| 401 |
|
sprintf(errmsg, "recovered output '%s' is complete", |
| 402 |
|
op->GetName()); |
| 403 |
|
error(WARNING, --remWarnings ? errmsg : "etc..."); |