// File: /workspace/github_c_makefile_star2_O0/justy989[P]ce/ce_commands.c
// Function: command_goto_destination_in_line
CeCommandStatus_t command_goto_destination_in_line(CeCommand_t* command, void* user_data){
     if(command->arg_count != 0) return CE_COMMAND_PRINT_HELP;

     CeApp_t* app = user_data;
     CommandContext_t command_context = {};

     if(!get_command_context(app, &command_context)) return CE_COMMAND_NO_ACTION;

     if(command_context.view->buffer->line_count == 0) return CE_COMMAND_NO_ACTION;

     CeDestination_t destination = scan_line_for_destination(command_context.view->buffer->lines[command_context.view->cursor.y]);
     if(destination.point.x < 0 || destination.point.y < 0){
          ce_app_message(app, "failed to determine file destination at %s:%d", command_context.view->buffer->name, command_context.view->cursor.y);
          return CE_COMMAND_NO_ACTION;
     }

     CeAppBufferData_t* buffer_data = command_context.view->buffer->app_data;
     buffer_data->last_goto_destination = command_context.view->cursor.y;

     char* base_directory = buffer_base_directory(command_context.view->buffer);
     CeBuffer_t* buffer = load_destination_into_view(&app->buffer_node_head, command_context.view, &app->config_options, &app->vim,
                                                     true, base_directory, &destination);
     free(base_directory);
     if(!buffer) return CE_COMMAND_NO_ACTION;
     ce_clangd_file_open(&app->clangd, app->buffer_node_head->buffer);

     return CE_COMMAND_SUCCESS;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x460, %rsp            # imm = 0x460
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x208(%rax)
je 0x1f2ad
movl $0x2, -0x4(%rbp)
jmp 0x1f42d
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0xd290
movq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1c5d0
testb $0x1, %al
jne 0x1f2e2
movl $0x3, -0x4(%rbp)
jmp 0x1f42d
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rax
cmpq $0x0, 0x8(%rax)
jne 0x1f2fd
movl $0x3, -0x4(%rbp)
jmp 0x1f42d
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rax
movq (%rax), %rax
movq -0x28(%rbp), %rcx
movq 0x38(%rcx), %rcx
movq (%rax,%rcx,8), %rsi
leaq -0x440(%rbp), %rdi
callq 0x150e0
cmpq $0x0, -0x440(%rbp)
jl 0x1f334
cmpq $0x0, -0x438(%rbp)
jge 0x1f366
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rax
movq 0x10(%rax), %rdx
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
leaq 0x2502a(%rip), %rsi     # 0x4437d
movb $0x0, %al
callq 0x159f0
movl $0x3, -0x4(%rbp)
jmp 0x1f42d
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rax
movq 0x58(%rax), %rax
movq %rax, -0x448(%rbp)
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq -0x448(%rbp), %rax
movq %rcx, 0x5f8(%rax)
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rdi
callq 0x149f0
movq %rax, -0x450(%rbp)
movq -0x20(%rbp), %rdi
addq $0x2828, %rdi           # imm = 0x2828
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rdx
addq $0x1a50, %rdx           # imm = 0x1A50
movq -0x20(%rbp), %rcx
addq $0x20, %rcx
movq -0x450(%rbp), %r9
movl $0x1, %r8d
leaq -0x440(%rbp), %rax
movq %rax, (%rsp)
callq 0x17ab0
movq %rax, -0x458(%rbp)
movq -0x450(%rbp), %rdi
callq 0xd090
cmpq $0x0, -0x458(%rbp)
jne 0x1f408
movl $0x3, -0x4(%rbp)
jmp 0x1f42d
movq -0x20(%rbp), %rdi
addq $0x2cd0, %rdi           # imm = 0x2CD0
movq -0x20(%rbp), %rax
movq 0x2828(%rax), %rax
movq (%rax), %rsi
callq 0x1a760
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x460, %rsp            # imm = 0x460
popq %rbp
retq
nopl (%rax)