From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <446E4B70.6060901@gmail.com> Date: Sat, 20 May 2006 00:49:20 +0200 From: =?ISO-8859-1?Q?Llu=EDs_Batlle_i_Rossell?= User-Agent: Mozilla Thunderbird 1.0.7 (X11/20060314) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] strangely typed functions in standard library References: <87f034ae0605152003x4d8ee664o4bef08473c10eef6@mail.gmail.com> In-Reply-To: <87f034ae0605152003x4d8ee664o4bef08473c10eef6@mail.gmail.com> Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms080302060800050100070501" Topicbox-Message-UUID: 52ffee12-ead1-11e9-9d60-3106f5b1d025 This is a cryptographically signed message in MIME format. --------------ms080302060800050100070501 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Matt Stewart wrote: > The following functions are described as accepting a Rune, but instead > the parameters are of type long. Why? > > int runelen(long); > char *utfrune(char *, long); > char *utfrrune(char *, long); > From History in this wikipedia page (http://en.wikipedia.org/wiki/UTF-32): UCS-4 is sufficient to represent all of the Unicode code space, which has 1114112 (= 2^20+2^16) code points and therefore requires only up to hexadecimal 10FFFF. Some people consider it wasteful to reserve such a large code space for mapping a relatively small set of code points, so a new encoding form, UTF-32, was proposed. --------------ms080302060800050100070501 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJTTCC AwEwggJqoAMCAQICEC7GHhAgrXIK4gbYgnLRBvIwDQYJKoZIhvcNAQEEBQAwYjELMAkGA1UE BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA2MDMxMzIyNTMwMVoX DTA3MDMxMzIyNTMwMVowRDEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEhMB8G CSqGSIb3DQEJARYSdmlyaWtldG9AZ21haWwuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAvULiATyjPs5ZNXAo1qG4p3B136VTuzi82L14U0YTuyUO1lrJNJypHfM1+5d5 0vYJKzzSt/sCLD76X3vO3DxC5cqC2nrchEN+GCKndpE2PM7Sp9eWrHs9IVWCfYxP5M3kLoeb 5XXeRCciHCeYJ7+6SLrftWxU2qKVtAAQMGnLghUuwMck0sWXiywDhQ3MVIPbdOEu+VGKRMRM Ncq4bFRvqNRpNfG5A+WOtsuqxTpJtdLcP0fKTIKK3N7r7k4IMYEHLTPl9iH5Ve0OPgeTekyH ADZnIjE7zweBDBH0Qh8DDTaMx5XszHAMwsChHxBmCcAjncdPnqxdShbOPshtBiPxHwIDAQAB o1IwUDAOBgNVHQ8BAf8EBAMCA/gwEQYJYIZIAYb4QgEBBAQDAgUgMB0GA1UdEQQWMBSBEnZp cmlrZXRvQGdtYWlsLmNvbTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBAFRbmD1g BXH11x+sumaBS5h4A4ejYdmB1b5u2jBhkZnfvO92RD23dnS8PKk4MdGxGQUzawyGK8JSAUJg eERQ1Xoxa/xRgTGDphoZLLBdFkkvqjrqz2h2hiXkZHGyE3yFst9UVrXDHZKOyCR9c3LaXPQp Iz2lJiADJ2BtByn43FtHMIIDATCCAmqgAwIBAgIQLsYeECCtcgriBtiCctEG8jANBgkqhkiG 9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0 eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0Ew HhcNMDYwMzEzMjI1MzAxWhcNMDcwMzEzMjI1MzAxWjBEMR8wHQYDVQQDExZUaGF3dGUgRnJl ZW1haWwgTWVtYmVyMSEwHwYJKoZIhvcNAQkBFhJ2aXJpa2V0b0BnbWFpbC5jb20wggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9QuIBPKM+zlk1cCjWobincHXfpVO7OLzYvXhT RhO7JQ7WWsk0nKkd8zX7l3nS9gkrPNK3+wIsPvpfe87cPELlyoLaetyEQ34YIqd2kTY8ztKn 15asez0hVYJ9jE/kzeQuh5vldd5EJyIcJ5gnv7pIut+1bFTaopW0ABAwacuCFS7AxyTSxZeL LAOFDcxUg9t04S75UYpExEw1yrhsVG+o1Gk18bkD5Y62y6rFOkm10tw/R8pMgorc3uvuTggx gQctM+X2IflV7Q4+B5N6TIcANmciMTvPB4EMEfRCHwMNNozHlezMcAzCwKEfEGYJwCOdx0+e rF1KFs4+yG0GI/EfAgMBAAGjUjBQMA4GA1UdDwEB/wQEAwID+DARBglghkgBhvhCAQEEBAMC BSAwHQYDVR0RBBYwFIESdmlyaWtldG9AZ21haWwuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZI hvcNAQEEBQADgYEAVFuYPWAFcfXXH6y6ZoFLmHgDh6Nh2YHVvm7aMGGRmd+873ZEPbd2dLw8 qTgx0bEZBTNrDIYrwlIBQmB4RFDVejFr/FGBMYOmGhkssF0WSS+qOurPaHaGJeRkcbITfIWy 31RWtcMdko7IJH1zctpc9CkjPaUmIAMnYG0HKfjcW0cwggM/MIICqKADAgECAgENMA0GCSqG SIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYD VQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9D ZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29u YWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0 ZS5jb20wHhcNMDMwNzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTEl MCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3Rl IFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJj WiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenpruf ZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIB ADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlUGVyc29u YWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMT EVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GBAEiM0VCD6gsuzA2jZqxnD3+v rL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZGwDFGguCdJ4lUJRi x9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC3CEZNd4ksdMdRv9d X2VPMYIDZDCCA2ACAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1 bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElz c3VpbmcgQ0ECEC7GHhAgrXIK4gbYgnLRBvIwCQYFKw4DAhoFAKCCAcMwGAYJKoZIhvcNAQkD MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDYwNTE5MjI0OTIwWjAjBgkqhkiG9w0B CQQxFgQUS24lkiTSgd/hz6Q3fEEvE7R8lhkwUgYJKoZIhvcNAQkPMUUwQzAKBggqhkiG9w0D BzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwIC ASgwgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBD b25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFp bCBJc3N1aW5nIENBAhAuxh4QIK1yCuIG2IJy0QbyMIGHBgsqhkiG9w0BCRACCzF4oHYwYjEL MAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAq BgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAuxh4QIK1yCuIG 2IJy0QbyMA0GCSqGSIb3DQEBAQUABIIBABV24hXbjtLsVSd2TqSfHsjzO1cBqxI0sXBoAjRD skNyw77wSMc7NEBwzZ3uM6LXXqXKCMGKXG5FC/gHE5LPsdOJYCgcoLLh9kOJ6OZ39TV2iVRF W5YUx+GbTHW5srs0RZoVJvKtQLyJ9JcNtT31XeUbiD+6qdCnH0ptDgH1QClwsFmrLLQgzMxe JjGIl1RExzaJEB01FcNu3NbF1SX0UVcb3JxHxImA3s3p2VB5xAxqkeeFAf+VjmQoS4jlppRQ 7M8cU/zvDOjYhbqE5P1LyVHSRXSE9bjwGi0g/LxNxPQ8OjJgxwsWIC41pNs+Ya0ZWg7410za 6qVyb3PupbW5GxkAAAAAAAA= --------------ms080302060800050100070501--