Mercurial > dwindows
comparison gtk3/dw.c @ 2063:f7c462f27829
GTK: Update ancient unsafe code in dw_environment_query() on Unix.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 20 Apr 2020 19:22:37 +0000 |
parents | 9c400365f269 |
children | 2c2530f8cbef |
comparison
equal
deleted
inserted
replaced
2062:1a93c508bb51 | 2063:f7c462f27829 |
---|---|
11008 * env: Pointer to a DWEnv struct. | 11008 * env: Pointer to a DWEnv struct. |
11009 */ | 11009 */ |
11010 void dw_environment_query(DWEnv *env) | 11010 void dw_environment_query(DWEnv *env) |
11011 { | 11011 { |
11012 struct utsname name; | 11012 struct utsname name; |
11013 char tempbuf[100]; | 11013 char tempbuf[100] = { 0 }, *dot; |
11014 int len, z; | |
11015 | 11014 |
11016 uname(&name); | 11015 uname(&name); |
11017 strcpy(env->osName, name.sysname); | 11016 memset(env, '\0', sizeof(DWEnv)); |
11018 strcpy(tempbuf, name.release); | 11017 strncpy(env->osName, name.sysname, sizeof(env->osName)-1); |
11019 | 11018 strncpy(tempbuf, name.release, 99); |
11020 env->MajorBuild = env->MinorBuild = 0; | 11019 |
11021 | 11020 strncpy(env->buildDate, __DATE__, sizeof(env->buildDate)-1); |
11022 len = strlen(tempbuf); | 11021 strncpy(env->buildTime, __TIME__, sizeof(env->buildTime)-1); |
11023 | |
11024 strcpy(env->buildDate, __DATE__); | |
11025 strcpy(env->buildTime, __TIME__); | |
11026 env->DWMajorVersion = DW_MAJOR_VERSION; | 11022 env->DWMajorVersion = DW_MAJOR_VERSION; |
11027 env->DWMinorVersion = DW_MINOR_VERSION; | 11023 env->DWMinorVersion = DW_MINOR_VERSION; |
11028 #ifdef VER_REV | 11024 #ifdef VER_REV |
11029 env->DWSubVersion = VER_REV; | 11025 env->DWSubVersion = VER_REV; |
11030 #else | 11026 #else |
11031 env->DWSubVersion = DW_SUB_VERSION; | 11027 env->DWSubVersion = DW_SUB_VERSION; |
11032 #endif | 11028 #endif |
11033 | 11029 |
11034 for(z=1;z<len;z++) | 11030 if((dot = strchr(tempbuf, '.')) != NULL) |
11035 { | 11031 { |
11036 if(tempbuf[z] == '.') | 11032 *dot = '\0'; |
11037 { | 11033 env->MajorVersion = atoi(tempbuf); |
11038 tempbuf[z] = '\0'; | 11034 env->MinorVersion = atoi(&dot[1]); |
11039 env->MajorVersion = atoi(&tempbuf[z-1]); | 11035 return; |
11040 env->MinorVersion = atoi(&tempbuf[z+1]); | |
11041 return; | |
11042 } | |
11043 } | 11036 } |
11044 env->MajorVersion = atoi(tempbuf); | 11037 env->MajorVersion = atoi(tempbuf); |
11045 env->MinorVersion = 0; | |
11046 } | 11038 } |
11047 | 11039 |
11048 /* | 11040 /* |
11049 * Opens a file dialog and queries user selection. | 11041 * Opens a file dialog and queries user selection. |
11050 * Parameters: | 11042 * Parameters: |