// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/src/server.c
// Function: initServerConfig
void initServerConfig(void) {
    int j;

    getRandomHexChars(server.runid,CONFIG_RUN_ID_SIZE);
    server.configfile = NULL;
    server.executable = NULL;
    server.hz = CONFIG_DEFAULT_HZ;
    server.runid[CONFIG_RUN_ID_SIZE] = '\0';
    server.arch_bits = (sizeof(long) == 8) ? 64 : 32;
    server.port = CONFIG_DEFAULT_SERVER_PORT;
    server.tcp_backlog = CONFIG_DEFAULT_TCP_BACKLOG;
    server.bindaddr_count = 0;
    server.unixsocket = NULL;
    server.unixsocketperm = CONFIG_DEFAULT_UNIX_SOCKET_PERM;
    server.ipfd_count = 0;
    server.sofd = -1;
    server.protected_mode = CONFIG_DEFAULT_PROTECTED_MODE;
    server.dbnum = CONFIG_DEFAULT_DBNUM;
    server.verbosity = CONFIG_DEFAULT_VERBOSITY;
    server.maxidletime = CONFIG_DEFAULT_CLIENT_TIMEOUT;
    server.tcpkeepalive = CONFIG_DEFAULT_TCP_KEEPALIVE;
    server.active_expire_enabled = 1;
    server.client_max_querybuf_len = PROTO_MAX_QUERYBUF_LEN;
    server.saveparams = NULL;
    server.loading = 0;
    server.logfile = zstrdup(CONFIG_DEFAULT_LOGFILE);
    server.syslog_enabled = CONFIG_DEFAULT_SYSLOG_ENABLED;
    server.syslog_ident = zstrdup(CONFIG_DEFAULT_SYSLOG_IDENT);
    server.syslog_facility = LOG_LOCAL0;
    server.daemonize = CONFIG_DEFAULT_DAEMONIZE;
    server.supervised = 0;
    server.supervised_mode = SUPERVISED_NONE;
    server.aof_state = AOF_OFF;
    server.aof_fsync = CONFIG_DEFAULT_AOF_FSYNC;
    server.aof_no_fsync_on_rewrite = CONFIG_DEFAULT_AOF_NO_FSYNC_ON_REWRITE;
    server.aof_rewrite_perc = AOF_REWRITE_PERC;
    server.aof_rewrite_min_size = AOF_REWRITE_MIN_SIZE;
    server.aof_rewrite_base_size = 0;
    server.aof_rewrite_scheduled = 0;
    server.aof_last_fsync = time(NULL);
    server.aof_rewrite_time_last = -1;
    server.aof_rewrite_time_start = -1;
    server.aof_lastbgrewrite_status = C_OK;
    server.aof_delayed_fsync = 0;
    server.aof_fd = -1;
    server.aof_selected_db = -1; /* Make sure the first time will not match */
    server.aof_flush_postponed_start = 0;
    server.aof_rewrite_incremental_fsync = CONFIG_DEFAULT_AOF_REWRITE_INCREMENTAL_FSYNC;
    server.aof_load_truncated = CONFIG_DEFAULT_AOF_LOAD_TRUNCATED;
    server.pidfile = NULL;
    server.rdb_filename = zstrdup(CONFIG_DEFAULT_RDB_FILENAME);
    server.aof_filename = zstrdup(CONFIG_DEFAULT_AOF_FILENAME);
    server.requirepass = NULL;
    server.rdb_compression = CONFIG_DEFAULT_RDB_COMPRESSION;
    server.rdb_checksum = CONFIG_DEFAULT_RDB_CHECKSUM;
    server.stop_writes_on_bgsave_err = CONFIG_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR;
    server.activerehashing = CONFIG_DEFAULT_ACTIVE_REHASHING;
    server.notify_keyspace_events = 0;
    server.maxclients = CONFIG_DEFAULT_MAX_CLIENTS;
    server.bpop_blocked_clients = 0;
    server.maxmemory = CONFIG_DEFAULT_MAXMEMORY;
    server.maxmemory_policy = CONFIG_DEFAULT_MAXMEMORY_POLICY;
    server.maxmemory_samples = CONFIG_DEFAULT_MAXMEMORY_SAMPLES;
    server.hash_max_ziplist_entries = OBJ_HASH_MAX_ZIPLIST_ENTRIES;
    server.hash_max_ziplist_value = OBJ_HASH_MAX_ZIPLIST_VALUE;
    server.list_max_ziplist_size = OBJ_LIST_MAX_ZIPLIST_SIZE;
    server.list_compress_depth = OBJ_LIST_COMPRESS_DEPTH;
    server.set_max_intset_entries = OBJ_SET_MAX_INTSET_ENTRIES;
    server.zset_max_ziplist_entries = OBJ_ZSET_MAX_ZIPLIST_ENTRIES;
    server.zset_max_ziplist_value = OBJ_ZSET_MAX_ZIPLIST_VALUE;
    server.hll_sparse_max_bytes = CONFIG_DEFAULT_HLL_SPARSE_MAX_BYTES;
    server.shutdown_asap = 0;
    server.repl_ping_slave_period = CONFIG_DEFAULT_REPL_PING_SLAVE_PERIOD;
    server.repl_timeout = CONFIG_DEFAULT_REPL_TIMEOUT;
    server.repl_min_slaves_to_write = CONFIG_DEFAULT_MIN_SLAVES_TO_WRITE;
    server.repl_min_slaves_max_lag = CONFIG_DEFAULT_MIN_SLAVES_MAX_LAG;
    server.cluster_enabled = 0;
    server.cluster_node_timeout = CLUSTER_DEFAULT_NODE_TIMEOUT;
    server.cluster_migration_barrier = CLUSTER_DEFAULT_MIGRATION_BARRIER;
    server.cluster_slave_validity_factor = CLUSTER_DEFAULT_SLAVE_VALIDITY;
    server.cluster_require_full_coverage = CLUSTER_DEFAULT_REQUIRE_FULL_COVERAGE;
    server.cluster_configfile = zstrdup(CONFIG_DEFAULT_CLUSTER_CONFIG_FILE);
    server.migrate_cached_sockets = dictCreate(&migrateCacheDictType,NULL);
    server.next_client_id = 1; /* Client IDs, start from 1 .*/
    server.loading_process_events_interval_bytes = (1024*1024*2);
    server.lua_time_limit = LUA_SCRIPT_TIME_LIMIT;

    server.lruclock = getLRUClock();
    resetServerSaveParams();

    appendServerSaveParams(60*60,1);  /* save after 1 hour and 1 change */
    appendServerSaveParams(300,100);  /* save after 5 minutes and 100 changes */
    appendServerSaveParams(60,10000); /* save after 1 minute and 10000 changes */
    /* Replication related */
    server.masterauth = NULL;
    server.masterhost = NULL;
    server.masterport = 6379;
    server.master = NULL;
    server.cached_master = NULL;
    server.repl_master_initial_offset = -1;
    server.repl_state = REPL_STATE_NONE;
    server.repl_syncio_timeout = CONFIG_REPL_SYNCIO_TIMEOUT;
    server.repl_serve_stale_data = CONFIG_DEFAULT_SLAVE_SERVE_STALE_DATA;
    server.repl_slave_ro = CONFIG_DEFAULT_SLAVE_READ_ONLY;
    server.repl_down_since = 0; /* Never connected, repl is down since EVER. */
    server.repl_disable_tcp_nodelay = CONFIG_DEFAULT_REPL_DISABLE_TCP_NODELAY;
    server.repl_diskless_sync = CONFIG_DEFAULT_REPL_DISKLESS_SYNC;
    server.repl_diskless_sync_delay = CONFIG_DEFAULT_REPL_DISKLESS_SYNC_DELAY;
    server.slave_priority = CONFIG_DEFAULT_SLAVE_PRIORITY;
    server.slave_announce_ip = CONFIG_DEFAULT_SLAVE_ANNOUNCE_IP;
    server.slave_announce_port = CONFIG_DEFAULT_SLAVE_ANNOUNCE_PORT;
    server.master_repl_offset = 0;

    /* Replication partial resync backlog */
    server.repl_backlog = NULL;
    server.repl_backlog_size = CONFIG_DEFAULT_REPL_BACKLOG_SIZE;
    server.repl_backlog_histlen = 0;
    server.repl_backlog_idx = 0;
    server.repl_backlog_off = 0;
    server.repl_backlog_time_limit = CONFIG_DEFAULT_REPL_BACKLOG_TIME_LIMIT;
    server.repl_no_slaves_since = time(NULL);

    /* Client output buffer limits */
    for (j = 0; j < CLIENT_TYPE_OBUF_COUNT; j++)
        server.client_obuf_limits[j] = clientBufferLimitsDefaults[j];

    /* Double constants initialization */
    R_Zero = 0.0;
    R_PosInf = 1.0/R_Zero;
    R_NegInf = -1.0/R_Zero;
    R_Nan = R_Zero/R_Zero;

    /* Command table -- we initiialize it here as it is part of the
     * initial configuration, since command names may be changed via
     * redis.conf using the rename-command directive. */
    server.commands = dictCreate(&commandTableDictType,NULL);
    server.orig_commands = dictCreate(&commandTableDictType,NULL);
    populateCommandTable();
    server.delCommand = lookupCommandByCString("del");
    server.multiCommand = lookupCommandByCString("multi");
    server.lpushCommand = lookupCommandByCString("lpush");
    server.lpopCommand = lookupCommandByCString("lpop");
    server.rpopCommand = lookupCommandByCString("rpop");
    server.sremCommand = lookupCommandByCString("srem");
    server.execCommand = lookupCommandByCString("exec");
    server.expireCommand = lookupCommandByCString("expire");
    server.pexpireCommand = lookupCommandByCString("pexpire");

    /* Slow log */
    server.slowlog_log_slower_than = CONFIG_DEFAULT_SLOWLOG_LOG_SLOWER_THAN;
    server.slowlog_max_len = CONFIG_DEFAULT_SLOWLOG_MAX_LEN;

    /* Latency monitor */
    server.latency_monitor_threshold = CONFIG_DEFAULT_LATENCY_MONITOR_THRESHOLD;

    /* Debugging */
    server.assert_failed = "<no assertion failed>";
    server.assert_file = "<no file>";
    server.assert_line = 0;
    server.bug_report_start = 0;
    server.watchdog_period = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0x1461a9(%rip), %rdi    # 0x1781d8
addq $0x70, %rdi
movl $0x28, %esi
callq 0x47e40
movq $0x0, 0x146198(%rip) # 0x1781e0
movq $0x0, 0x146195(%rip) # 0x1781e8
movl $0xa, 0x14619b(%rip)    # 0x1781f8
movb $0x0, 0x14620c(%rip)    # 0x178270
movl $0x40, 0x1461d2(%rip)   # 0x178240
movl $0x18eb, 0x146200(%rip) # imm = 0x18EB
movl $0x1ff, 0x1461fa(%rip)  # imm = 0x1FF
movl $0x0, 0x146274(%rip)    # 0x178300
movq $0x0, 0x146271(%rip) # 0x178308
movl $0x0, 0x14626f(%rip)    # 0x178310
movl $0x0, 0x1462a9(%rip)    # 0x178354
movl $0xffffffff, 0x1462a3(%rip) # imm = 0xFFFFFFFF
movl $0x1, 0x146431(%rip)    # 0x1784f0
movl $0x10, 0x14671f(%rip)   # 0x1787e8
movl $0x2, 0x1466fd(%rip)    # 0x1787d0
movl $0x0, 0x1466f7(%rip)    # 0x1787d4
movl $0x12c, 0x1466f1(%rip)  # imm = 0x12C
movl $0x1, 0x1466eb(%rip)    # 0x1787dc
movq $0x40000000, 0x1466e4(%rip) # imm = 0x40000000
movq $0x0, 0x146809(%rip) # 0x178910
movl $0x0, 0x1463e3(%rip)    # 0x1784f4
leaq 0x1094fa(%rip), %rdi    # 0x13b612
callq 0x3b040
movq %rax, 0x146854(%rip)    # 0x178978
movl $0x0, 0x146852(%rip)    # 0x178980
leaq 0x105f03(%rip), %rdi    # 0x138038
callq 0x3b040
movq %rax, 0x146847(%rip)    # 0x178988
movl $0x80, 0x146845(%rip)   # 0x178990
movl $0x0, 0x14669f(%rip)    # 0x1787f4
movl $0x0, 0x14668d(%rip)    # 0x1787ec
movl $0x0, 0x146687(%rip)    # 0x1787f0
movl $0x0, 0x1466cd(%rip)    # 0x178840
movl $0x2, 0x1466c7(%rip)    # 0x178844
movl $0x0, 0x1466c9(%rip)    # 0x178850
movl $0x64, 0x1466c3(%rip)   # 0x178854
movq $0x4000000, 0x1466bc(%rip) # imm = 0x4000000
movq $0x0, 0x1466b9(%rip) # 0x178860
movl $0x0, 0x1466bf(%rip)    # 0x178870
xorl %eax, %eax
movl %eax, %edi
callq 0x26ce0
movq %rax, 0x1466d7(%rip)    # 0x178898
movq $-0x1, 0x1466d4(%rip) # 0x1788a0
movq $-0x1, 0x1466d1(%rip) # 0x1788a8
movl $0x0, 0x1466cf(%rip)    # 0x1788b0
movq $0x0, 0x1466cc(%rip) # 0x1788b8
movl $0xffffffff, 0x146692(%rip) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x14668c(%rip) # imm = 0xFFFFFFFF
movq $0x0, 0x146685(%rip) # 0x178890
movl $0x1, 0x1466ab(%rip)    # 0x1788c0
movl $0x1, 0x1466ad(%rip)    # 0x1788cc
movq $0x0, 0x14600e(%rip) # 0x178238
leaq 0x105e0d(%rip), %rdi    # 0x13803e
callq 0x3b040
movq %rax, 0x1466e3(%rip)    # 0x178920
leaq 0x105e03(%rip), %rdi    # 0x138047
callq 0x3b040
movq %rax, 0x1465f8(%rip)    # 0x178848
movq $0x0, 0x145fd5(%rip) # 0x178230
movl $0x1, 0x1466c3(%rip)    # 0x178928
movl $0x1, 0x1466bd(%rip)    # 0x17892c
movl $0x1, 0x1466e3(%rip)    # 0x17895c
movl $0x1, 0x145fa5(%rip)    # 0x178228
movl $0x0, 0x1468e3(%rip)    # 0x178b70
movl $0x2710, 0x146845(%rip) # imm = 0x2710
movl $0x0, 0x14684f(%rip)    # 0x178af0
movq $0x0, 0x146834(%rip) # 0x178ae0
movl $0x5, 0x146832(%rip)    # 0x178ae8
movl $0x5, 0x14682c(%rip)    # 0x178aec
movq $0x200, 0x14684d(%rip) # imm = 0x200
movq $0x40, 0x14684a(%rip) # 0x178b20
movl $0xfffffffe, 0x146868(%rip) # imm = 0xFFFFFFFE
movl $0x0, 0x146862(%rip)    # 0x178b4c
movq $0x200, 0x146833(%rip) # imm = 0x200
movq $0x80, 0x146830(%rip) # 0x178b30
movq $0x40, 0x14682d(%rip) # 0x178b38
movq $0xbb8, 0x14682a(%rip) # imm = 0xBB8
movl $0x0, 0x145f04(%rip)    # 0x178224
movl $0xa, 0x146676(%rip)    # 0x1789a0
movl $0x3c, 0x1466d8(%rip)   # 0x178a0c
movl $0x0, 0x1466a2(%rip)    # 0x1789e0
movl $0xa, 0x14669c(%rip)    # 0x1789e4
movl $0x0, 0x146822(%rip)    # 0x178b74
movq $0x3a98, 0x14681b(%rip) # imm = 0x3A98
movl $0x1, 0x146829(%rip)    # 0x178b90
movl $0xa, 0x146823(%rip)    # 0x178b94
movl $0x1, 0x14681d(%rip)    # 0x178b98
leaq 0x105cd4(%rip), %rdi    # 0x138056
callq 0x3b040
movq %rax, 0x1467f2(%rip)    # 0x178b80
leaq 0x144bfb(%rip), %rdi    # 0x176f90
xorl %eax, %eax
movl %eax, %esi
callq 0x2d330
movq %rax, 0x14613b(%rip)    # 0x1784e0
movq $0x1, 0x146138(%rip) # 0x1784e8
movq $0x200000, 0x146155(%rip) # imm = 0x200000
movq $0x1388, 0x1467fa(%rip) # imm = 0x1388
callq 0x30a00
movl %eax, %ecx
movl 0x145e4d(%rip), %eax    # 0x178220
andl $0xffffff, %ecx         # imm = 0xFFFFFF
andl $0xff000000, %eax       # imm = 0xFF000000
orl %ecx, %eax
movl %eax, 0x145e3a(%rip)    # 0x178220
callq 0x687c0
movl $0xe10, %edi            # imm = 0xE10
movl $0x1, %esi
callq 0x68700
movl $0x12c, %edi            # imm = 0x12C
movl $0x64, %esi
callq 0x68700
movl $0x3c, %edi
movl $0x2710, %esi           # imm = 0x2710
callq 0x68700
movq $0x0, 0x1465d5(%rip) # 0x1789f8
movq $0x0, 0x1465d2(%rip) # 0x178a00
movl $0x18eb, 0x1465d0(%rip) # imm = 0x18EB
movq $0x0, 0x1465cd(%rip) # 0x178a10
movq $0x0, 0x1465ca(%rip) # 0x178a18
movq $-0x1, 0x146657(%rip) # 0x178ab0
movl $0x0, 0x1465c1(%rip)    # 0x178a24
movl $0x5, 0x1465b3(%rip)    # 0x178a20
movl $0x1, 0x1465e1(%rip)    # 0x178a58
movl $0x1, 0x1465db(%rip)    # 0x178a5c
movq $0x0, 0x1465d4(%rip) # 0x178a60
movl $0x0, 0x1465d2(%rip)    # 0x178a68
movl $0x0, 0x14654c(%rip)    # 0x1789ec
movl $0x5, 0x146546(%rip)    # 0x1789f0
movl $0x64, 0x1465b8(%rip)   # 0x178a6c
movq $0x0, 0x1465b9(%rip) # 0x178a78
movl $0x0, 0x1465a7(%rip)    # 0x178a70
movq $0x0, 0x1464c4(%rip) # 0x178998
movq $0x0, 0x1464c9(%rip) # 0x1789a8
movq $0x100000, 0x1464c6(%rip) # imm = 0x100000
movq $0x0, 0x1464c3(%rip) # 0x1789b8
movq $0x0, 0x1464c0(%rip) # 0x1789c0
movq $0x0, 0x1464bd(%rip) # 0x1789c8
movq $0xe10, 0x1464ba(%rip) # imm = 0xE10
xorl %eax, %eax
movl %eax, %edi
callq 0x26ce0
movq %rax, 0x1464b2(%rip)    # 0x1789d8
movl $0x0, -0x4(%rbp)
cmpl $0x3, -0x4(%rbp)
jge 0x3257e
movslq -0x4(%rbp), %rcx
leaq 0x145c9a(%rip), %rax    # 0x1781d8
addq $0x620, %rax            # imm = 0x620
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movslq -0x4(%rbp), %rdx
leaq 0x144caa(%rip), %rcx    # 0x177200
imulq $0x18, %rdx, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rax)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3252d
xorps %xmm0, %xmm0
movsd %xmm0, 0x15a2e7(%rip)   # 0x18c870
movsd 0x104ed7(%rip), %xmm0   # 0x137468
divsd 0x15a2d7(%rip), %xmm0   # 0x18c870
movsd %xmm0, 0x15a2d7(%rip)   # 0x18c878
movsd 0x104eb7(%rip), %xmm0   # 0x137460
divsd 0x15a2bf(%rip), %xmm0   # 0x18c870
movsd %xmm0, 0x15a2c7(%rip)   # 0x18c880
movsd 0x15a2af(%rip), %xmm0   # 0x18c870
divsd 0x15a2a7(%rip), %xmm0   # 0x18c870
movsd %xmm0, 0x15a2b7(%rip)   # 0x18c888
leaq 0x1448c8(%rip), %rdi    # 0x176ea0
xorl %eax, %eax
movl %eax, %esi
callq 0x2d330
movq %rax, 0x145c20(%rip)    # 0x178208
leaq 0x1448b1(%rip), %rdi    # 0x176ea0
xorl %eax, %eax
movl %eax, %esi
callq 0x2d330
movq %rax, 0x145c11(%rip)    # 0x178210
callq 0x32710
leaq 0x106e8d(%rip), %rdi    # 0x139498
callq 0x32950
movq %rax, 0x145f01(%rip)    # 0x178518
leaq 0x10519d(%rip), %rdi    # 0x1377bb
callq 0x32950
movq %rax, 0x145ef6(%rip)    # 0x178520
leaq 0x104f21(%rip), %rdi    # 0x137552
callq 0x32950
movq %rax, 0x145eeb(%rip)    # 0x178528
leaq 0x104f19(%rip), %rdi    # 0x13755d
callq 0x32950
movq %rax, 0x145ee0(%rip)    # 0x178530
leaq 0x104eee(%rip), %rdi    # 0x137545
callq 0x32950
movq %rax, 0x145ed5(%rip)    # 0x178538
leaq 0x104f20(%rip), %rdi    # 0x13758a
callq 0x32950
movq %rax, 0x145eca(%rip)    # 0x178540
leaq 0x105147(%rip), %rdi    # 0x1377c4
callq 0x32950
movq %rax, 0x145ebf(%rip)    # 0x178548
leaq 0x116a22(%rip), %rdi    # 0x1490b2
callq 0x32950
movq %rax, 0x145eb4(%rip)    # 0x178550
leaq 0x1050cd(%rip), %rdi    # 0x137770
callq 0x32950
movq %rax, 0x145ea9(%rip)    # 0x178558
movq $0x2710, 0x145f26(%rip) # imm = 0x2710
movq $0x80, 0x145f23(%rip) # 0x1785e8
movq $0x0, 0x146520(%rip) # 0x178bf0
leaq 0x10598a(%rip), %rax    # 0x138061
movq %rax, 0x146522(%rip)    # 0x178c00
leaq 0x105992(%rip), %rax    # 0x138077
movq %rax, 0x14651c(%rip)    # 0x178c08
movl $0x0, 0x14651a(%rip)    # 0x178c10
movl $0x0, 0x146514(%rip)    # 0x178c14
movl $0x0, 0x14650e(%rip)    # 0x178c18
addq $0x10, %rsp
popq %rbp
retq