1439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin/* 2439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * The authors of this software are Rob Pike and Ken Thompson. 3439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * Copyright (c) 2002 by Lucent Technologies. 4439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * Permission to use, copy, modify, and distribute this software for any 5439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * purpose without fee is hereby granted, provided that this entire notice 6439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * is included in all copies of any software which is or includes a copy 7439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * or modification of this software and in all copies of the supporting 8439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * documentation for such software. 9439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED 1096039b7897bb8b5853e91404d97abca72d933c69Alexander Gutkin * WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY 1196039b7897bb8b5853e91404d97abca72d933c69Alexander Gutkin * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY 12439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. 13439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin */ 14439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin#include <stdarg.h> 15439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin#include <string.h> 16439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin#include "utf.h" 1796039b7897bb8b5853e91404d97abca72d933c69Alexander Gutkin#include "utfdef.h" 18439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 19439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkinint 2096039b7897bb8b5853e91404d97abca72d933c69Alexander Gutkinrunestrcmp(const Rune *s1, const Rune *s2) 21439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin{ 22439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin Rune c1, c2; 23439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 24439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin for(;;) { 25439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin c1 = *s1++; 26439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin c2 = *s2++; 27439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin if(c1 != c2) { 28439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin if(c1 > c2) 29439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin return 1; 30439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin return -1; 31439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin } 32439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin if(c1 == 0) 33439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin return 0; 34439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin } 35439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin} 36