return out;
}
+static void lt_const_free(const void *ptr)
+{
+ void *tmp;
+
+ memcpy(&tmp, &ptr, sizeof(tmp));
+ free(tmp);
+}
+
static void init_count_chars(count_chars *cc)
{
cc->vals = (const char**) lt_malloc(PATH_MAX*sizeof(char*));
static const char *check_object_exists(command_t *cmd, const char *arg, int arglen)
{
char *newarg, *ext;
- int pass, rv;
+ struct stat sb;
newarg = (char *)lt_malloc(arglen + 10);
memcpy(newarg, arg, arglen);
newarg[arglen] = 0;
ext = newarg + arglen;
- pass = 0;
-
- do {
- struct stat sb;
-
- switch (pass) {
- case 0:
- strcpy(ext, OBJECT_EXT);
- break;
-/*
- case 1:
- strcpy(ext, NO_PIC_EXT);
- break;
-*/
- default:
- break;
- }
-
- DEBUG("Checking (obj): %s\n", newarg);
- rv = stat(newarg, &sb);
- }
- while (rv != 0 && ++pass < 1);
-
- if (rv == 0) {
+ strcpy(ext, OBJECT_EXT);
+
+ DEBUG("Checking (obj): %s\n", newarg);
+ if (stat(newarg, &sb) == 0) {
return newarg;
}
path = load_install_path(arg);
if (path) {
add_rpath(cc, path);
- free(path);
+ lt_const_free(path);
}
}
path = load_noinstall_path(arg, pathlen);
if (path) {
add_rpath(cc, path);
- free(path);
+ lt_const_free(path);
}
}
#endif
struct stat sb;
if (!stat(arg, &sb)) {
- DEBUG("Adding object: %s\n", newarg);
+ DEBUG("Adding object: %s\n", arg);
push_count_chars(cmd->obj_files, arg);
cmd->module_name.install = gen_install_name(arg, TYPE_MODULE_LIB);
if (!cmd->options.dry_run) {
- char *newname;
- char *newext;
- newname = lt_malloc(strlen(cmd->static_name.normal) + 1);
+ char *newname;
+ char *newext;
+ newname = lt_malloc(strlen(cmd->static_name.normal) + 1);
- strcpy(newname, cmd->static_name.normal);
- newext = strrchr(newname, '/');
- if (!newext) {
- /* Check first to see if the dir already exists! */
- safe_mkdir(cmd, ".libs");
- } else {
- *newext = '\0';
- safe_mkdir(cmd, newname);
- }
- free(newname);
+ strcpy(newname, cmd->static_name.normal);
+ newext = strrchr(newname, '/');
+ if (!newext) {
+ /* Check first to see if the dir already exists! */
+ safe_mkdir(cmd, ".libs");
+ } else {
+ *newext = '\0';
+ safe_mkdir(cmd, newname);
+ }
+ free(newname);
}
#ifdef TRUNCATE_DLL_NAME
if (shared) {
- arg = truncate_dll_name(arg);
+ arg = truncate_dll_name(arg);
}
#endif
cmd->static_name.install = gen_install_name(arg, TYPE_STATIC_LIB);
if (!cmd->options.dry_run) {
- char *newname;
- char *newext;
- newname = lt_malloc(strlen(cmd->static_name.normal) + 1);
+ char *newname;
+ char *newext;
+ newname = lt_malloc(strlen(cmd->static_name.normal) + 1);
- strcpy(newname, cmd->static_name.normal);
- newext = strrchr(newname, '/');
- if (!newext) {
- /* Check first to see if the dir already exists! */
- safe_mkdir(cmd, ".libs");
- } else {
- *newext = '\0';
- safe_mkdir(cmd, newname);
- }
- free(newname);
+ strcpy(newname, cmd->static_name.normal);
+ newext = strrchr(newname, '/');
+ if (!newext) {
+ /* Check first to see if the dir already exists! */
+ safe_mkdir(cmd, ".libs");
+ } else {
+ *newext = '\0';
+ safe_mkdir(cmd, newname);
+ }
+ free(newname);
}
cmd->output_name = arg;
ext = strrchr(implib_file, '.');
if (ext) {
- *ext = 0;
+ *ext = '\0';
}
strcat(implib_file, ".");