// File: /workspace/github_cpp_makefile_star2_O2/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 %rbx
subq $0x108, %rsp            # imm = 0x108
movb $0x0, -0x120(%rbp)
movl 0x1f5215(%rip), %eax    # 0x2027e8
testl %eax, %eax
je 0xd6c3
cmpl $0x1869f, %eax          # imm = 0x1869F
jne 0xd6b2
andl $0x0, 0x1f51fb(%rip)    # 0x2027e8
andl $0x0, 0x14d8bc(%rip)    # 0x15aeb0
andl $0x0, 0x14d8b1(%rip)    # 0x15aeac
andl $0x0, 0x14d8ba(%rip)    # 0x15aebc
movl 0x1f51f0(%rip), %ebx    # 0x2027f8
movl %ebx, 0x1f51f2(%rip)    # 0x202800
movl 0x1f51e7(%rip), %r14d   # 0x2027fc
movl %r14d, 0x1f51e8(%rip)   # 0x202804
movl %ebx, 0x14d892(%rip)    # 0x15aeb4
movl %r14d, 0x14d88f(%rip)   # 0x15aeb8
pushq $0x1
popq %rax
movl %eax, 0x1f51ae(%rip)    # 0x2027e0
movl %eax, 0x1f51ec(%rip)    # 0x202824
movb $0x63, 0x1f51f2(%rip)   # 0x202831
leaq 0x31bc9a(%rip), %r15    # 0x3292e0
leaq -0x120(%rbp), %rdi
movq %r15, %rsi
callq 0x9330
leaq 0xe7787(%rip), %rsi     # 0xf4de3
movq %r15, %rdi
movl %ebx, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x9060
movq 0x14d84e(%rip), %rdi    # 0x15aec0
testq %rdi, %rdi
je 0xd67c
callq 0x95c0
movb $0x1, 0x2ea7e9(%rip)    # 0x2f7e6c
callq 0x317fd
leaq 0x31bc51(%rip), %rdi    # 0x3292e0
leaq -0x120(%rbp), %rsi
callq 0x9330
andl $0x0, 0x1f5182(%rip)    # 0x202824
movb $0x0, 0x2ea7c3(%rip)    # 0x2f7e6c
andl $0x0, 0x1f5130(%rip)    # 0x2027e0
jmp 0xd6c3
andl $0x0, 0x1f512f(%rip)    # 0x2027e8
movl $0x2392, %edi           # imm = 0x2392
callq 0xbc0b
movb 0x2ea7a3(%rip), %al     # 0x2f7e6c
testb %al, %al
jne 0xd6fd
cmpl $0x3e1, 0x1f5129(%rip)  # imm = 0x3E1
jg 0xd6fd
cmpb $0x0, 0x31b010(%rip)    # 0x3286f0
jne 0xd6eb
movw $0x20, 0x31b005(%rip)   # 0x3286f0
cmpb $0x0, 0x31b01e(%rip)    # 0x328710
jne 0xd6fd
movw $0x20, 0x31b013(%rip)   # 0x328710
movl 0x1f5179(%rip), %ecx    # 0x20287c
movl 0x1f517f(%rip), %edx    # 0x202888
addl %ecx, %edx
subl 0x1f515f(%rip), %edx    # 0x202870
movl %edx, 0x1f518d(%rip)    # 0x2028a4
addl 0x1f5177(%rip), %ecx    # 0x202894
movl $0xd8, %edx
leaq 0x13a607(%rip), %rsi    # 0x147d30
cmpq $0x12f8, %rdx           # imm = 0x12F8
je 0xd742
movl %ecx, -0x18(%rdx,%rsi)
movl %ecx, (%rdx,%rsi)
addq $0xe8, %rdx
jmp 0xd729
cmpb $0x0, 0x317ce7(%rip)    # 0x325430
je 0xd759
leaq 0x317cde(%rip), %rdi    # 0x325430
callq 0x2ca84
jmp 0xd7c4
testb %al, %al
sete %dl
cmpb $0x0, 0x1f7c5f(%rip)    # 0x2053c4
setne %cl
movq 0x1f7c49(%rip), %rax    # 0x2053b8
testq %rax, %rax
setne %sil
andb %cl, %sil
movq 0x1f7c18(%rip), %rcx    # 0x205398
testq %rcx, %rcx
setg %dil
andb %dl, %dil
andb %sil, %dil
cmpb $0x1, %dil
jne 0xd7c4
imulq $0xe10, %rax, %rax      # imm = 0xE10
cqto
idivq %rcx
movslq 0x1f50de(%rip), %rcx    # 0x202884
cqto
idivq %rcx
cmpq $0x2, %rax
pushq $0x1
popq %rcx
cmovgeq %rax, %rcx
movq %rcx, 0x1f7be3(%rip)    # 0x2053a0
movq %rcx, 0x1f7bf4(%rip)    # 0x2053b8
movb $0x0, 0x1f7bf9(%rip)    # 0x2053c4
cmpb $0x0, 0x2ea0d2(%rip)    # 0x2f78a4
je 0xd7fa
cmpl $0x0, 0x21b705(%rip)    # 0x228ee0
je 0xd7fa
movl 0x2e9d3d(%rip), %edi    # 0x2f7520
movslq 0x2ea0b2(%rip), %rax    # 0x2f789c
leaq 0x14703f(%rip), %rcx    # 0x154830
movq (%rcx,%rax,8), %rsi
callq 0xce1f2
cmpb $0x0, 0x2ea664(%rip)    # 0x2f7e65
jne 0xd85f
movl 0x1f4ff7(%rip), %ecx    # 0x202800
imull $0x31a, 0x1ffd31(%rip), %eax # imm = 0x31A
pushq $0x64
popq %rsi
cltd
idivl %esi
cmpl %eax, %ecx
jg 0xd858
cmpq $0x400, 0x1f50a8(%rip) # imm = 0x400
je 0xd858
cmpl $0x9, 0x1f4fe3(%rip)    # 0x202814
setl %cl
movl 0x1f4f9e(%rip), %eax    # 0x2027d8
testl %eax, %eax
sete %dl
testb %dl, %cl
jne 0xd858
cmpb $0x1, 0x1f500f(%rip)    # 0x202859
sete %cl
testl %eax, %eax
setne %al
andb %cl, %al
cmpb $0x1, %al
jne 0xd85f
movb $0x1, 0x1f7b86(%rip)    # 0x2053e5
cmpb $0x0, 0x31c55a(%rip)    # 0x329dc0
je 0xd888
movsd 0x31c558(%rip), %xmm0   # 0x329dc8
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xd87c
jnp 0xd883
callq 0xf01cf
jmp 0xd888
callq 0xf027a
movb 0x2ea5df(%rip), %al     # 0x2f7e6d
testb %al, %al
je 0xd8c7
cmpb $0x3, %al
je 0xd8bd
cmpl $0x0, 0x302437(%rip)    # 0x30fcd4
je 0xd8bd
cmpl $0x0, 0x30242a(%rip)    # 0x30fcd0
jle 0xd8bd
xorl %esi, %esi
cmpl $0x0, 0x31375f(%rip)    # 0x321010
sete %sil
pushq $0x1
popq %rdi
callq 0x59afe
movl $0x1, 0x313749(%rip)    # 0x321010
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r14
popq %r15
popq %rbp
retq