| /* go-strcmp.c -- the go string comparison function. | |
| Copyright 2009 The Go Authors. All rights reserved. | |
| Use of this source code is governed by a BSD-style | |
| license that can be found in the LICENSE file. */ | |
| #include "runtime.h" | |
| intgo | |
| __go_strcmp(String s1, String s2) | |
| { | |
| int i; | |
| i = __builtin_memcmp(s1.str, s2.str, | |
| (s1.len < s2.len ? s1.len : s2.len)); | |
| if (i != 0) | |
| return i; | |
| if (s1.len < s2.len) | |
| return -1; | |
| else if (s1.len > s2.len) | |
| return 1; | |
| else | |
| return 0; | |
| } |