- Timestamp:
- Jun 21, 2013, 7:26:52 PM (11 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 00efe139bd160effd51e7ad222f0894fdb70f0ce
- Parents:
- 95330f405fec0ba5de9b3943ba3ff73c15feda4e
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-06-21 19:26:52+02:00
- git-committer:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-06-21 19:28:09+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/polys/mod_raw.cc
r95330f r96c5cb 60 60 { 61 61 void* handle = NULL; 62 const char* bin_dir = feGetResource('b'); 63 if (bin_dir != NULL) 64 { 65 const int binary_name_so_length = 3 + strlen(DL_TAIL) + strlen(binary_name) + strlen(DIR_SEPP) + strlen(bin_dir); 66 char* binary_name_so = (char *)omAlloc0( binary_name_so_length * sizeof(char) ); 67 snprintf(binary_name_so, binary_name_so_length, "%s%s%s%s", bin_dir, DIR_SEPP, binary_name, DL_TAIL); 62 const char* proc_dir = feGetResource('P'); 63 char* binary_name_so=NULL; 64 if (proc_dir != NULL) 65 { 66 const int binary_name_so_length = 3 + strlen(DL_TAIL) + strlen(binary_name) + strlen(DIR_SEPP) + strlen(proc_dir); 67 binary_name_so = (char *)omAlloc0( binary_name_so_length * sizeof(char) ); 68 snprintf(binary_name_so, binary_name_so_length, "%s%s%s%s", proc_dir, DIR_SEPP, binary_name, DL_TAIL); 68 69 handle = dynl_open(binary_name_so); 69 omFreeSize((ADDRESS)binary_name_so, binary_name_so_length * sizeof(char) ); 70 } 71 72 if (handle == NULL ) 73 { 74 const int binary_name_so_length = 3 + strlen(DL_TAIL) + strlen(binary_name); 75 char* binary_name_so = (char *)omAlloc0( binary_name_so_length * sizeof(char) ); 76 snprintf(binary_name_so, binary_name_so_length, "%s%s", binary_name, DL_TAIL); 70 } 71 72 if (handle == NULL ) // bin_dir must always be !=NULL 73 { 74 const char* bin_dir = feGetResource('b'); 75 if (binary_name_so!=NULL) omFree(binary_name_so); 76 const int binary_name_so_length = 6 + strlen(DL_TAIL) 77 + strlen(binary_name) 78 +strlen(DIR_SEPP)*2 79 +strlen(bin_dir); 80 binary_name_so = (char *)omAlloc0( binary_name_so_length * sizeof(char) ); 81 snprintf(binary_name_so, binary_name_so_length, "%s%s%s%s", bin_dir, DIR_SEPP,"MOD",DIR_SEPP,binary_name, DL_TAIL); 77 82 handle = dynl_open(binary_name_so); 78 83 79 omFree((ADDRESS)binary_name_so );80 84 } 81 85 82 86 if (handle == NULL && ! warn_handle) 83 87 { 84 Warn("Could not find dynamic library: %s%s", binary_name, DL_TAIL); 88 Warn("Could not find dynamic library: %s%s (tried %s)", 89 binary_name, DL_TAIL,binary_name_so); 85 90 Warn("Error message from system: %s", dynl_error()); 86 91 if (msg != NULL) Warn("%s", msg); … … 88 93 warn_handle = TRUE; 89 94 } 95 omfree((ADDRESS)binary_name_so ); 90 96 91 97 return handle;
Note: See TracChangeset
for help on using the changeset viewer.