You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718
  1. package com.dmdirc.ktirc.model
  2. data class User(val nickname: String, val ident: String? = null, val hostname: String? = null)
  3. fun ByteArray.asUser(): User {
  4. val string = String(this)
  5. val identOffset = string.indexOf('!')
  6. return if (identOffset >= 0) {
  7. val hostOffset = string.indexOf('@', identOffset)
  8. if (hostOffset >= 0) {
  9. User(string.substring(0 until identOffset), string.substring(identOffset + 1 until hostOffset), string.substring(hostOffset + 1))
  10. } else {
  11. User(string.substring(0 until identOffset), string.substring(identOffset + 1))
  12. }
  13. } else {
  14. User(string)
  15. }
  16. }