struct stat st;
 
        len = strlen(path);
-       if (has_symlink_leading_path(len, path))
+       if (has_symlink_leading_path(path, len))
                return error("'%s' is beyond a symbolic link", path);
 
        /*
        report("add '%s'", path);
  free_return:
        if (p < path || p > path + strlen(path))
-               free((char*)p);
+               free((char *)p);
 }
 
 static void read_index_info(int line_termination)
 static void read_head_pointers(void)
 {
        if (read_ref("HEAD", head_sha1))
-               die("No HEAD -- no initial commit yet?\n");
+               die("No HEAD -- no initial commit yet?");
        if (read_ref("MERGE_HEAD", merge_head_sha1)) {
                fprintf(stderr, "Not in the middle of a merge.\n");
                exit(0);
                const char *p = prefix_path(prefix, prefix_length, arg);
                err |= unresolve_one(p);
                if (p < arg || p > arg + strlen(arg))
-                       free((char*)p);
+                       free((char *)p);
        }
        return err;
 }
                if (set_executable_bit)
                        chmod_path(set_executable_bit, p);
                if (p < path || p > path + strlen(path))
-                       free((char*)p);
+                       free((char *)p);
        }
        if (read_from_stdin) {
                struct strbuf buf = STRBUF_INIT, nbuf = STRBUF_INIT;