// File: /workspace/github_c_makefile_star2_O0/nilyang[P]redis-tdd-annotation/src/config.c
// Function: rewriteConfigClientoutputbufferlimitOption
void rewriteConfigClientoutputbufferlimitOption(struct rewriteConfigState *state) {
    int j;
    char *option = "client-output-buffer-limit";

    for (j = 0; j < REDIS_CLIENT_LIMIT_NUM_CLASSES; j++) {
        int force = (server.client_obuf_limits[j].hard_limit_bytes !=
                    clientBufferLimitsDefaults[j].hard_limit_bytes) ||
                    (server.client_obuf_limits[j].soft_limit_bytes !=
                    clientBufferLimitsDefaults[j].soft_limit_bytes) ||
                    (server.client_obuf_limits[j].soft_limit_seconds !=
                    clientBufferLimitsDefaults[j].soft_limit_seconds);
        sds line;
        char hard[64], soft[64];

        rewriteConfigFormatMemory(hard,sizeof(hard),
                server.client_obuf_limits[j].hard_limit_bytes);
        rewriteConfigFormatMemory(soft,sizeof(soft),
                server.client_obuf_limits[j].soft_limit_bytes);

        line = sdscatprintf(sdsempty(),"%s %s %s %s %ld",
                option, getClientLimitClassName(j), hard, soft,
                (long) server.client_obuf_limits[j].soft_limit_seconds);
        rewriteConfigRewriteLine(state,option,line,force);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x86a9a(%rip), %rax     # 0xe4010
movq %rax, -0x18(%rbp)
movl $0x0, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jge 0x5d72f
movslq -0xc(%rbp), %rcx
leaq 0xb6362(%rip), %rax     # 0x1138f8
addq $0x488, %rax            # imm = 0x488
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movslq -0xc(%rbp), %rax
leaq 0xb552f(%rip), %rdx     # 0x112ae0
imulq $0x18, %rax, %rax
addq %rax, %rdx
movb $0x1, %al
cmpq (%rdx), %rcx
movb %al, -0xb1(%rbp)
jne 0x5d63c
movslq -0xc(%rbp), %rcx
leaq 0xb6328(%rip), %rax     # 0x1138f8
addq $0x488, %rax            # imm = 0x488
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
movslq -0xc(%rbp), %rax
leaq 0xb54f4(%rip), %rdx     # 0x112ae0
imulq $0x18, %rax, %rax
addq %rax, %rdx
movb $0x1, %al
cmpq 0x8(%rdx), %rcx
movb %al, -0xb1(%rbp)
jne 0x5d63c
movslq -0xc(%rbp), %rcx
leaq 0xb62ec(%rip), %rax     # 0x1138f8
addq $0x488, %rax            # imm = 0x488
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movslq -0xc(%rbp), %rdx
leaq 0xb54b8(%rip), %rcx     # 0x112ae0
imulq $0x18, %rdx, %rdx
addq %rdx, %rcx
cmpq 0x10(%rcx), %rax
setne %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x1c(%rbp)
leaq -0x70(%rbp), %rdi
movslq -0xc(%rbp), %rcx
leaq 0xb629f(%rip), %rax     # 0x1138f8
addq $0x488, %rax            # imm = 0x488
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movl $0x40, %esi
callq 0x5cc50
leaq -0xb0(%rbp), %rdi
movslq -0xc(%rbp), %rcx
leaq 0xb6273(%rip), %rax     # 0x1138f8
addq $0x488, %rax            # imm = 0x488
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdx
movl $0x40, %esi
callq 0x5cc50
callq 0x2c0c0
movq %rax, -0xc8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl -0xc(%rbp), %edi
callq 0x38c30
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rdx
movq %rax, %rcx
leaq -0x70(%rbp), %r8
leaq -0xb0(%rbp), %r9
movslq -0xc(%rbp), %rsi
leaq 0xb6212(%rip), %rax     # 0x1138f8
addq $0x488, %rax            # imm = 0x488
imulq $0x18, %rsi, %rsi
addq %rsi, %rax
movq 0x10(%rax), %rax
leaq 0x86e36(%rip), %rsi     # 0xe4534
movq %rax, (%rsp)
movb $0x0, %al
callq 0x2cad0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x28(%rbp), %rdx
movl -0x1c(%rbp), %ecx
callq 0x5cb20
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5d581
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax,%rax)