diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c index 00e03cb7fac7a70ad91e4236c17cdf18470d7486..732c37f8acf5c8e4e790941ebf066e946edc64d0 100644 --- a/src/sbbs3/userdat.c +++ b/src/sbbs3/userdat.c @@ -649,7 +649,7 @@ int DLLCALL getnodedat(scfg_t* cfg, uint number, node_t *node, int* fp) return(-1); sprintf(str,"%snode.dab",cfg->ctrl_dir); - if((file=nopen(str,O_RDONLY|O_DENYNONE))==-1) { + if((file=nopen(str,O_RDWR|O_DENYNONE))==-1) { memset(node,0,sizeof(node_t)); if(fp!=NULL) *fp=file; @@ -696,7 +696,6 @@ int DLLCALL putnodedat(scfg_t* cfg, uint number, node_t* node, int file) number--; /* make zero based */ for(attempts=0;attempts<10;attempts++) { lseek(file,(long)number*sizeof(node_t),SEEK_SET); - lock(file,(long)number*sizeof(node_t),sizeof(node_t)); if((wr=write(file,node,sizeof(node_t)))==sizeof(node_t)) break; wrerr=errno; /* save write error */