Started work on string utilities (strings.pas)
git-svn-id: https://spexeah.com:8443/svn/Asuro@233 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								lib/isr44.ppu
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/isr44.ppu
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								lib/libpsystem.a
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/libpsystem.a
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								lib/terminal.ppu
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/terminal.ppu
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										92
									
								
								src/strings.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								src/strings.pas
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,92 @@ | ||||
| unit strings; | ||||
|  | ||||
| interface | ||||
|  | ||||
| uses | ||||
|     system, | ||||
|     util; | ||||
|  | ||||
| function stringToUpper(str : pchar) : pchar; | ||||
| function stringToLower(str : pchar) : pchar; | ||||
| function stringEquals(str1, str2 : pchar) : boolean; | ||||
| function stringCopy(str : pchar) : pchar; | ||||
| function stringNew(size : uint32) : pchar; | ||||
| function stringSize(str : pchar) : uint32; | ||||
| function stringConcat(str1, str2 : pchar) : pchar; | ||||
| function stringContains(str : pchar; sub : pchar) : boolean; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| function stringToUpper(str : pchar) : pchar; | ||||
| begin | ||||
|      | ||||
| end; | ||||
|  | ||||
| function stringToLower(str : pchar) : pchar; | ||||
| begin | ||||
|      | ||||
| end; | ||||
|  | ||||
| function stringEquals(str1, str2 : pchar) : boolean; | ||||
| var | ||||
|     i : uint32; | ||||
|  | ||||
| begin | ||||
|     stringEquals:= true; | ||||
|     if stringSize(str1) <> stringSize(str2) then begin | ||||
|         stringEquals:= false; | ||||
|         exit; | ||||
|     end else begin | ||||
|         for i:=0 to stringSize(str1)-1 do begin | ||||
|             if str1[i] <> str2[i] then begin | ||||
|                 stringEquals:= false; | ||||
|                 exit; | ||||
|             end; | ||||
|         end;  | ||||
|     end;    | ||||
| end; | ||||
|  | ||||
| function stringCopy(str : pchar) : pchar; | ||||
| var | ||||
|     result : pchar; | ||||
|     size   : uint32; | ||||
|  | ||||
| begin | ||||
|     size:= stringSize(str); | ||||
|     result:= stringNew(size); | ||||
|     memcpy(str, result, size);     | ||||
| end; | ||||
|  | ||||
| function stringNew(size : uint32) : pchar; | ||||
| var | ||||
|     result : pchar; | ||||
|  | ||||
| begin | ||||
|     result:= pchar(kalloc(size + 1)); | ||||
|     memset(uint32(result), 0, size + 1); | ||||
|     stringNew:= result; | ||||
| end; | ||||
|  | ||||
| function stringSize(str : pchar) : uint32; | ||||
| var | ||||
|     i : uint32; | ||||
|  | ||||
| begin | ||||
|     i:=0; | ||||
|     while byte(str[i]) <> 0 do begin | ||||
|         inc(i); | ||||
|     end;  | ||||
|     stringSize:=i; | ||||
| end; | ||||
|  | ||||
| function stringConcat(str1, str2 : pchar) : pchar; | ||||
| begin | ||||
|      | ||||
| end; | ||||
|  | ||||
| function stringContains(str : pchar; sub : pchar) : boolean; | ||||
| begin | ||||
|      | ||||
| end; | ||||
|  | ||||
| end. | ||||
		Reference in New Issue
	
	Block a user
	 kieron
					kieron