equal
deleted
inserted
replaced
298 { |
298 { |
299 fd = creat(filename, 0664); |
299 fd = creat(filename, 0664); |
300 } |
300 } |
301 else if(creation == CREATE_ALWAYS) |
301 else if(creation == CREATE_ALWAYS) |
302 { |
302 { |
303 fd = creat(filename, 0664); |
303 fd = creat(filename, 0666); |
|
304 //Set access right depending on umask after |
|
305 //re-creating (file already exists) the file. |
|
306 mode_t oldMask,mode; |
|
307 oldMask = umask(0002); |
|
308 umask(oldMask); |
|
309 mode = ((0666) & (~oldMask)); |
|
310 chmod(filename, mode); |
304 } |
311 } |
305 else |
312 else |
306 { |
313 { |
307 printf("CreateFile: unknown creation flag %lu\n", creation); |
314 printf("CreateFile: unknown creation flag %lu\n", creation); |
308 } |
315 } |
392 printf("wchmod: wcstombs error\n"); |
399 printf("wchmod: wcstombs error\n"); |
393 delete[] tmp; |
400 delete[] tmp; |
394 return ret; |
401 return ret; |
395 } |
402 } |
396 if(mode == _S_IWRITE || mode == _S_IWRITE | _S_IREAD) |
403 if(mode == _S_IWRITE || mode == _S_IWRITE | _S_IREAD) |
397 chmod(tmp,S_IWUSR); |
404 chmod(tmp,0666); |
398 else |
405 else |
399 if(mode == _S_IREAD) |
406 if(mode == _S_IREAD) |
400 chmod(tmp,S_IRUSR); |
407 chmod(tmp,0444); |
401 |
408 |
402 ret = mbstowcs(const_cast<wchar_t*>(filename),tmp,sizeof(tmp)); |
409 ret = mbstowcs(const_cast<wchar_t*>(filename),tmp,sizeof(tmp)); |
403 |
410 |
404 if(ret == -1) |
411 if(ret == -1) |
405 { |
412 { |