diff --git a/include/tools.h b/include/tools.h index 6e5f8d0..30b96d6 100644 --- a/include/tools.h +++ b/include/tools.h @@ -29,16 +29,16 @@ /* extern FILE *logfile; */ extern void x_x_xfree(char **p); -extern int x_x_xnewstr(uint8 **p, uint8 *s); +extern int x_x_xnewstr(uint8 **p, const char *s); #define xfree(p) x_x_xfree((char **)&(p)) -#define new_str(p, s) x_x_xnewstr((uint8 **)&(p), s) +#define new_str(p, s) x_x_xnewstr((uint8 **)&(p), (const char *)(s)) extern char *xmalloc(uint size); extern char *xcmalloc(uint size); -extern int strmaxcpy(uint8 *dest, uint8 *source, int len); -#define xstrcpy(d, s) strmaxcpy((d), (s), sizeof(d)-1) -#define xstrmaxcpy(d, s, len) strmaxcpy((d), (s), min(sizeof(d)-1, (len)) ) +extern int strmaxcpy(uint8 *dest, const char *source, int len); +#define xstrcpy(d, s) strmaxcpy((d), (const char *)(s), sizeof(d)-1) +#define xstrmaxcpy(d, s, len) strmaxcpy((d), (const char *)(s), min(sizeof(d)-1, (len)) ) extern void xdprintf(int dlevel, int mode, char *p, ...); extern void errorp(int mode, char *what, char *p, ...); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8bd4cfb..a1ce040 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,7 +10,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Linux) add_definitions( - -pipe -Wall -DLINUX -D_GNU_SOURCE + -pipe -DLINUX -D_GNU_SOURCE ) endif (CMAKE_SYSTEM_NAME MATCHES Linux) diff --git a/src/emutli1.c b/src/emutli1.c index 731e82b..b5cd0b3 100644 --- a/src/emutli1.c +++ b/src/emutli1.c @@ -121,7 +121,7 @@ int get_interface_frame_name(char *name, uint32 net) int fframe = read_interface_data((uint8*) buff, &rnet, NULL, NULL, dname); if (fframe < 0) continue; if (rnet == net) { - if (name) strcpy(name, dname); + if (name) strcpy((char*)name, (char*)dname); frame = fframe; break; } @@ -162,14 +162,14 @@ static void del_special_net(int special, char *devname, int frame) if (flags & 2){ /* primary == internal net */ sipx->sipx_special = IPX_INTERNAL; } else - strcpy(id.ifr_name, name); + strcpy(id.ifr_name, (char*)name); break; } } fclose(f); } } else if (special != IPX_INTERNAL) { - if (devname && *devname) strcpy(id.ifr_name, devname); + if (devname && *devname) strcpy(id.ifr_name, (char*)devname); sipx->sipx_type = frame; } sipx->sipx_action = IPX_DLTITF; @@ -204,7 +204,7 @@ static void del_all_interfaces_nets(void) sipx->sipx_special = IPX_INTERNAL; } else { sipx->sipx_type = frame; - strcpy(id.ifr_name, name); + strcpy(id.ifr_name, (char*)name); if (flags & 1) /* primary */ sipx->sipx_special = IPX_PRIMARY; else @@ -236,7 +236,7 @@ static int add_special_net(int special, struct sockaddr_ipx *sipx = (struct sockaddr_ipx *)&id.ifr_addr; memset(&id, 0, sizeof(struct ifreq)); if (special != IPX_INTERNAL){ - if (devname && *devname) strcpy(id.ifr_name, devname); + if (devname && *devname) strcpy(id.ifr_name, (char*)devname); sipx->sipx_type = frame; } else { uint32 xx=htonl(node); @@ -277,7 +277,7 @@ int get_frame_name(uint8 *framename, int frame) default : framename[0] = '\0'; return(-1); } /* switch */ - strcpy(framename, frname); + strcpy((char*)framename, frname); return(0); } diff --git a/src/nwvolume.c b/src/nwvolume.c index d516292..57359cc 100644 --- a/src/nwvolume.c +++ b/src/nwvolume.c @@ -103,7 +103,7 @@ static void volume_to_namespace_map(int volume, NW_VOL *vol) { struct stat statb; DEV_NAMESPACE_MAP dnm; - if (stat(vol->unixname, &statb)) { + if (stat((char*)vol->unixname, &statb)) { XDPRINTF((1, 0, "cannot stat vol=%d, `%s`", volume, vol->unixname)); return; } @@ -127,7 +127,7 @@ void nw_init_volumes(FILE *f) firstinit++; rewind(f); if (get_ini_entry(f, 61, buff, sizeof(buff))) { - max_nw_vols=atoi(buff); + max_nw_vols=atoi((char*)buff); if (max_nw_vols < 2) max_nw_vols=MAX_NW_VOLS; } @@ -249,9 +249,9 @@ void nw_init_volumes(FILE *f) vol->umode_dir = 0; vol->umode_file = 0; if (founds > 3) { - vol->umode_dir=octtoi(umode_dirstr); + vol->umode_dir=octtoi((char*)umode_dirstr); if (founds > 4) - vol->umode_file=octtoi(umode_filestr); + vol->umode_file=octtoi((char*)umode_filestr); } used_nw_volumes++; if (vol->options & VOL_OPTION_ONE_DEV) { @@ -304,7 +304,7 @@ static int get_unx_home_dir(uint8 *homedir, uint8 *unxlogin) struct passwd *pw; int len=0; endpwent(); - if (unxlogin && *unxlogin && NULL != (pw=getpwnam(unxlogin))) { + if (unxlogin && *unxlogin && NULL != (pw=getpwnam((char*)unxlogin))) { len=strlen(pw->pw_dir); if (!len) { *homedir++ = '/'; @@ -362,7 +362,7 @@ void nw_setup_vol_opts(int act_gid, int act_uid, if (homepathlen > 0 && nw_volumes[k].addonlen) { if (homepathlen + nw_volumes[k].addonlen > 256) { flen = 0; - fname = ""; + fname = (uint8 *)""; } else { xstrcpy(fullname, unixname); /* concatenation $HOME/ and add/on/ */ @@ -615,7 +615,7 @@ int get_volume_inode(int volnr, struct stat *stb) if (volnr > -1 && volnr < used_nw_volumes) { struct stat statb; if (!stb) stb=&statb; - result = stat(nw_volumes[volnr].unixname, stb); + result = stat((char*)nw_volumes[volnr].unixname, stb); if (result == -1) result=-0x98; else result=stb->st_ino; } @@ -659,7 +659,7 @@ static void vol_trustee_scan(NW_VOL *v, int volume, xdprintf(2,0, "vol_trustee_scan, trustee path=`%s`", unixname); }) - if (!stat(unixname, &stb)) { + if (!stat((char*)unixname, &stb)) { int trustee=tru_get_id_trustee(volume, unixname, &stb, v->trustee_id); if (trustee > -1) { @@ -677,7 +677,7 @@ static void vol_trustee_scan(NW_VOL *v, int volume, } } - } else if ((!stat(trusteepath, &stb)) && S_ISDIR(stb.st_mode)) { + } else if ((!stat((char*)trusteepath, &stb)) && S_ISDIR(stb.st_mode)) { int l=strlen(p); uint8 *pp = p+l; *pp='/'; diff --git a/src/tools.c b/src/tools.c index 1d15307..d258172 100644 --- a/src/tools.c +++ b/src/tools.c @@ -127,24 +127,24 @@ void x_x_xfree(char **p) } } -int strmaxcpy(uint8 *dest, uint8 *source, int len) +int strmaxcpy(uint8 *dest, const char *source, int len) /* dest must be 1 byte larger than len */ { - int slen = (source != (uint8 *)NULL) ? min(len, strlen((char*)source)) : 0; + int slen = (source != (const char *)NULL) ? min(len, strlen(source)) : 0; if (slen) memcpy(dest, source, slen); dest[slen] = '\0'; return(slen); } -int x_x_xnewstr(uint8 **p, uint8 *s) +int x_x_xnewstr(uint8 **p, const char *s) { - int len = (s == NULL) ? 0 : strlen((char*)s); + int len = (s == NULL) ? 0 : strlen(s); if (*p != (uint8 *)NULL) free((char*)*p); *p = (uint8*)xmalloc(len+1); if (len) - strcpy((char*)(*p), (char*)s); + strcpy((char*)(*p), s); else **p = '\0'; return (len);