| 2221 | |
| 2222 | #ifndef USE_FCNTL |
| 2223 | staticfn char * |
| 2224 | make_lockname(const char *filename UNUSED_conditional, char *lockname) |
| 2225 | { |
| 2226 | #if defined(UNIX) || defined(VMS) || defined(AMIGA) || defined(WIN32) \ |
| 2227 | || defined(MSDOS) |
| 2228 | #ifdef NO_FILE_LINKS |
| 2229 | Strcpy(lockname, LOCKDIR); |
| 2230 | Strcat(lockname, "/"); |
| 2231 | Strcat(lockname, filename); |
| 2232 | #else |
| 2233 | Strcpy(lockname, filename); |
| 2234 | #endif |
| 2235 | #ifdef VMS |
| 2236 | { |
| 2237 | char *semi_colon = strrchr(lockname, ';'); |
| 2238 | if (semi_colon) |
| 2239 | *semi_colon = '\0'; |
| 2240 | } |
| 2241 | Strcat(lockname, ".lock;1"); |
| 2242 | #else |
| 2243 | Strcat(lockname, "_lock"); |
| 2244 | #endif |
| 2245 | return lockname; |
| 2246 | #else /* !(UNIX || VMS || AMIGA || WIN32 || MSDOS) */ |
| 2247 | lockname[0] = '\0'; |
| 2248 | return (char *) 0; |
| 2249 | #endif |
| 2250 | } |
| 2251 | #endif /* !USE_FCNTL */ |
| 2252 | |
| 2253 | /* lock a file */ |
no test coverage detected