All pastes #430511 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-04-09 01:19 UTC
rendered paste body
  # 0 = unquoted
  # 1 = unsolved
  # 2 = solved
  set last_state 0

  foreach letter [split $a_chan_crypt_quote($chan) ""] {
    set curr_state 0
    if {[info exists cur_solved($letter)]} {
      incr matches
      set curr_state 2
    } else {
      if {[regexp -all {[a-z]} $letter] != 0} {
        set curr_state 1
      }
    }

    if {$curr_state != $last_state} {
      if {$last_state == 0} {
        if {$curr_state == 1} {
          append quote $unsolved_encoding
        } else {
          append quote $solved_encoding
        }
      }
      if {$curr_state == 0} {
        append quote "\017"
      } else {
        if {$curr_state == 1} {
          append quote "\017${unsolved_encoding}"
        } else {
          append quote "\017${solved_encoding}"
        }
      }
    }

    if {$curr_state == 2} {
      append quote [string toupper cur_solved($letter)]
    } else {
      append quote $letter
    }

    set last_state $curr_state
  }