// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heather.cpp
// Function: config_options()
void config_options(void)
{
int k;
char old_buf[SLEN+1];     // the text string the user is typing in

   // configure system for any screen related command line options that were set
   old_buf[0] = 0;

   if(need_screen_init) {
#ifdef USE_X11
      if(need_screen_init == 99999) {  // piss go to full screen mode (/fu from keyboard)
         need_screen_init = 0;
         have_restore_size = 0;
         have_root_info = 0;
         x11_maxed = 0;
         SCREEN_WIDTH = display_width;
         SCREEN_HEIGHT = display_height;
         restore_width = display_width;
         restore_height = display_height;

         go_fullscreen = 1;   // piss   go_full()
         kill_deco = go_fullscreen; // disable X11 window decorations

         screen_type = 'c';
         strcpy(old_buf, edit_buffer);
         sprintf(edit_buffer, "%dx%d",SCREEN_WIDTH,SCREEN_HEIGHT);
         if(display) XFlush(display);
         keyboard_cmd = 1;
         edit_screen_res();
         strcpy(edit_buffer, old_buf);
         keyboard_cmd = 0;
go_fullscreen = kill_deco = 0;
      }
      else {
         need_screen_init = 0;
         init_screen(9106);
      }
#else
      need_screen_init = 0;
      init_screen(9106);
#endif
   }

   if(keyboard_cmd == 0) {
      if(SCREEN_WIDTH < MEDIUM_WIDTH) {  // blank clock name for small screens
         if(watch_name[0] == 0)  strcpy(watch_name,  " ");
         if(watch_name2[0] == 0) strcpy(watch_name2, " ");
      }
      else if(0) {
         if((watch_name[0] == ' ') && (watch_name[1] == 0)) watch_name[0] = 0;
         if((watch_name2[0] == ' ') && (watch_name2[1] == 0)) watch_name2[0] = 0;
      }
   }

   // set where the first point in the graphs will be
   last_count_y = PLOT_ROW + (PLOT_HEIGHT - VERT_MINOR);
   for(k=0; k<NUM_PLOTS+DERIVED_PLOTS; k++) {
      plot[k].last_y = PLOT_ROW+PLOT_CENTER;
      plot[k].last_trend_y = PLOT_ROW+PLOT_CENTER;
   }

   if(user_view_string[0]) {  // user set a plot view interval on the command line
      edit_user_view(user_view_string);
   }
   else if(new_user_view && (keyboard_cmd == 0) && user_view && (queue_interval > 0)) {   // set user specified plot window time (in hours)
      view_interval = (user_view * 60L*60L) / queue_interval;
      view_interval /= PLOT_WIDTH;
      if(view_interval <= 1L) view_interval = 1L;
      user_view = view_interval;
   }
   new_user_view = 0;

   // user set a daylight savings time definition
   if(user_set_dst && have_year) {
      calc_dst_times(this_year, dst_list[dst_area]);
   }

   // if user did not enable/disable the big clock,  turn it on if it will fit
   if(user_set_clock_plot == 0) {
      if(SCREEN_WIDTH > NARROW_SCREEN) plot_digital_clock = 1;
      else if(rcvr_type == NO_RCVR) plot_digital_clock = 1;
      else if((TEXT_HEIGHT <= 8) && (text_mode == 0)) plot_digital_clock = 1; ////
      else if((small_font == 1) && text_mode) plot_digital_clock = 1;
   }

   #ifdef TEMP_CONTROL
      if(do_temp_control) {  // user wants to actively stabilize the unit temperature
         if(desired_temp) enable_temp_control();
         else             disable_temp_control();
      }
   #endif

   if(not_safe) {
      if(not_safe == 3) ;   // xyzzy
      else if(com[RCVR_PORT].process_com == 0) ;  // xyzzy
      else if(com[RCVR_PORT].com_running <= 0) ;  // xyzzy
      else if(did_init1) init_messages(1, 0);
      else               init_messages(1, 1);
      did_init1 = 1;
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x100, %rsp            # imm = 0x100
movb $0x0, -0x120(%rbp)
movl 0x20ae05(%rip), %eax    # 0x2187e8
testl %eax, %eax
je 0xdadb
cmpl $0x1869f, %eax          # imm = 0x1869F
jne 0xdac7
xorl %r12d, %r12d
movl %r12d, 0x20ade8(%rip)   # 0x2187e8
movl %r12d, 0x1634a9(%rip)   # 0x170eb0
movl %r12d, 0x16349e(%rip)   # 0x170eac
movl %r12d, 0x1634a7(%rip)   # 0x170ebc
movl 0x20addd(%rip), %ebx    # 0x2187f8
movl %ebx, 0x20addf(%rip)    # 0x218800
movl 0x20add4(%rip), %r14d   # 0x2187fc
movl %r14d, 0x20add5(%rip)   # 0x218804
movl %ebx, 0x16347f(%rip)    # 0x170eb4
movl %r14d, 0x16347c(%rip)   # 0x170eb8
movl $0x1, %eax
movl %eax, 0x20ad99(%rip)    # 0x2187e0
movl %eax, 0x20add7(%rip)    # 0x218824
movb $0x63, 0x20addd(%rip)   # 0x218831
leaq 0x331885(%rip), %r15    # 0x33f2e0
leaq -0x120(%rbp), %rdi
movq %r15, %rsi
callq 0x9340
leaq 0xfd2f7(%rip), %rsi     # 0x10ad68
movq %r15, %rdi
movl %ebx, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x9060
movq 0x163439(%rip), %rdi    # 0x170ec0
testq %rdi, %rdi
je 0xda91
callq 0x95c0
movb $0x1, 0x3003d4(%rip)    # 0x30de6c
callq 0x345c8
leaq 0x33183c(%rip), %rdi    # 0x33f2e0
leaq -0x120(%rbp), %rsi
callq 0x9340
movb $0x0, 0x3003b5(%rip)    # 0x30de6c
movl %r12d, 0x20ad66(%rip)   # 0x218824
movl %r12d, 0x20ad1b(%rip)   # 0x2187e0
jmp 0xdadb
movl $0x0, 0x20ad17(%rip)    # 0x2187e8
movl $0x2392, %edi           # imm = 0x2392
callq 0xbe88
movb 0x30038b(%rip), %al     # 0x30de6c
testb %al, %al
jne 0xdb15
cmpl $0x3e1, 0x20ad11(%rip)  # imm = 0x3E1
jg 0xdb15
cmpb $0x0, 0x330bf8(%rip)    # 0x33e6f0
jne 0xdb03
movw $0x20, 0x330bed(%rip)   # 0x33e6f0
cmpb $0x0, 0x330c06(%rip)    # 0x33e710
jne 0xdb15
movw $0x20, 0x330bfb(%rip)   # 0x33e710
movl 0x20ad61(%rip), %ecx    # 0x21887c
movl 0x20ad67(%rip), %edx    # 0x218888
addl %ecx, %edx
subl 0x20ad47(%rip), %edx    # 0x218870
movl %edx, 0x20ad75(%rip)    # 0x2188a4
addl 0x20ad5f(%rip), %ecx    # 0x218894
movl $0xd8, %edx
leaq 0x1501ef(%rip), %rsi    # 0x15dd30
movl %ecx, -0x18(%rdx,%rsi)
movl %ecx, (%rdx,%rsi)
addq $0xe8, %rdx
cmpq $0x12f8, %rdx           # imm = 0x12F8
jne 0xdb41
cmpb $0x0, 0x32d8d1(%rip)    # 0x33b430
je 0xdb6f
leaq 0x32d8c8(%rip), %rdi    # 0x33b430
callq 0x2f570
jmp 0xdbdc
testb %al, %al
sete %dl
cmpb $0x0, 0x20d849(%rip)    # 0x21b3c4
setne %cl
movq 0x20d833(%rip), %rax    # 0x21b3b8
testq %rax, %rax
setne %sil
andb %cl, %sil
movq 0x20d802(%rip), %rcx    # 0x21b398
testq %rcx, %rcx
setg %dil
andb %dl, %dil
andb %sil, %dil
cmpb $0x1, %dil
jne 0xdbdc
imulq $0xe10, %rax, %rax      # imm = 0xE10
cqto
idivq %rcx
movslq 0x20acc8(%rip), %rcx    # 0x218884
cqto
idivq %rcx
cmpq $0x2, %rax
movl $0x1, %ecx
cmovgeq %rax, %rcx
movq %rcx, 0x20d7cb(%rip)    # 0x21b3a0
movq %rcx, 0x20d7dc(%rip)    # 0x21b3b8
movb $0x0, 0x20d7e1(%rip)    # 0x21b3c4
cmpb $0x0, 0x2ffcba(%rip)    # 0x30d8a4
je 0xdc12
cmpl $0x0, 0x2312ed(%rip)    # 0x23eee0
je 0xdc12
movl 0x2ff925(%rip), %edi    # 0x30d520
movslq 0x2ffc9a(%rip), %rax    # 0x30d89c
leaq 0x15cc27(%rip), %rcx    # 0x16a830
movq (%rcx,%rax,8), %rsi
callq 0xe1326
cmpb $0x0, 0x30024c(%rip)    # 0x30de65
jne 0xdc85
imull $0x31a, 0x21591f(%rip), %eax # imm = 0x31A
cltq
imulq $0x51eb851f, %rax, %rax # imm = 0x51EB851F
movq %rax, %rcx
shrq $0x3f, %rcx
sarq $0x25, %rax
addl %ecx, %eax
cmpl %eax, 0x20abbf(%rip)    # 0x218800
jg 0xdc7e
cmpq $0x400, 0x20ac82(%rip) # imm = 0x400
je 0xdc7e
cmpl $0x9, 0x20abbd(%rip)    # 0x218814
setl %cl
movl 0x20ab78(%rip), %eax    # 0x2187d8
testl %eax, %eax
sete %dl
testb %dl, %cl
jne 0xdc7e
cmpb $0x1, 0x20abe9(%rip)    # 0x218859
sete %cl
testl %eax, %eax
setne %al
andb %cl, %al
cmpb $0x1, %al
jne 0xdc85
movb $0x1, 0x20d760(%rip)    # 0x21b3e5
cmpb $0x0, 0x332134(%rip)    # 0x33fdc0
je 0xdcae
movsd 0x332132(%rip), %xmm0   # 0x33fdc8
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xdca2
jnp 0xdca9
callq 0x106b87
jmp 0xdcae
callq 0x106c38
movb 0x3001b9(%rip), %al     # 0x30de6d
testb %al, %al
je 0xdcef
cmpb $0x3, %al
je 0xdce5
cmpl $0x0, 0x318011(%rip)    # 0x325cd4
je 0xdce5
cmpl $0x0, 0x318004(%rip)    # 0x325cd0
jle 0xdce5
xorl %esi, %esi
cmpl $0x0, 0x329339(%rip)    # 0x337010
sete %sil
movl $0x1, %edi
callq 0x616de
movl $0x1, 0x329321(%rip)    # 0x337010
addq $0x100, %rsp            # imm = 0x100
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq