Changeset 47a728e1 in mainline
- Timestamp:
- 2012-08-01T21:59:40Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- cb4a66d2
- Parents:
- 23db8aa (diff), 9bcdbc5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/mips32/Makefile.inc
r23db8aa r47a728e1 29 29 BFD_ARCH = mips 30 30 BITS = 32 31 EXTRA_CFLAGS = -m no-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=3231 EXTRA_CFLAGS = -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=32 32 32 33 33 RD_SRVS_NON_ESSENTIAL += \ … … 48 48 BFD_OUTPUT = binary 49 49 ENDIANESS = LE 50 EXTRA_GCC_CFLAGS = -mhard-float51 50 endif 52 51 -
boot/arch/mips64/Makefile.inc
r23db8aa r47a728e1 29 29 BFD_ARCH = mips:4000 30 30 BITS = 64 31 EXTRA_CFLAGS = -m no-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=6431 EXTRA_CFLAGS = -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=64 32 32 33 33 ifeq ($(MACHINE),msim) … … 35 35 BFD_OUTPUT = binary 36 36 ENDIANESS = LE 37 EXTRA_GCC_CFLAGS = -mhard-float38 37 endif 39 38 -
boot/generic/src/str.c
r23db8aa r47a728e1 354 354 * 355 355 * Do a char-by-char comparison of two NULL-terminated strings. 356 * The strings are considered equal iff they consist of the same 357 * characters on the minimum of their lengths. 356 * The strings are considered equal iff their length is equal 357 * and both strings consist of the same sequence of characters. 358 * 359 * A string S1 is less than another string S2 if it has a character with 360 * lower value at the first character position where the strings differ. 361 * If the strings differ in length, the shorter one is treated as if 362 * padded by characters with a value of zero. 358 363 * 359 364 * @param s1 First string to compare. 360 365 * @param s2 Second string to compare. 361 366 * 362 * @return 0 if the strings are equal, -1 if first is smaller,363 * 1 if second smaller.367 * @return 0 if the strings are equal, -1 if the first is less than the second, 368 * 1 if the second is less than the first. 364 369 * 365 370 */ -
contrib/bazaar/bzreml/__init__.py
r23db8aa r47a728e1 108 108 if (revision_ac_id == revision_old_id): 109 109 break 110 110 111 yield revision_ac_id 111 112 … … 117 118 branch.repository.lock_read() 118 119 try: 119 body = StringIO()120 revision_prev_id = revision_old_id 120 121 121 for revision_ac_id in revision_sequence(branch, revision_old_id, revision_new_id): 122 for revision_ac_id in reversed(list(revision_sequence(branch, revision_old_id, revision_new_id))): 123 body = StringIO() 124 122 125 revision_ac = branch.repository.get_revision(revision_ac_id) 123 126 revision_ac_no = branch.revision_id_to_revno(revision_ac_id) … … 139 142 body.write("\n") 140 143 141 commit_message = ""144 commit_message = None 142 145 body.write("Log:\n") 143 146 if (not revision_ac.message): … … 147 150 for line in log.split("\n"): 148 151 body.write("%s\n" % line) 149 if (commit_message == ""):152 if (commit_message == None): 150 153 commit_message = line 151 154 152 if (commit_message == ""):155 if (commit_message == None): 153 156 commit_message = "(empty)" 154 157 155 158 body.write("\n") 159 160 tree_prev = branch.repository.revision_tree(revision_prev_id) 161 tree_ac = branch.repository.revision_tree(revision_ac_id) 162 163 delta = tree_ac.changes_from(tree_prev) 164 165 if (len(delta.added) > 0): 166 body.write("Added:\n") 167 for item in delta.added: 168 body.write(" %s\n" % item[0]) 169 170 if (len(delta.removed) > 0): 171 body.write("Removed:\n") 172 for item in delta.removed: 173 body.write(" %s\n" % item[0]) 174 175 if (len(delta.renamed) > 0): 176 body.write("Renamed:\n") 177 for item in delta.renamed: 178 body.write(" %s -> %s\n" % (item[0], item[1])) 179 180 if (len(delta.kind_changed) > 0): 181 body.write("Changed:\n") 182 for item in delta.kind_changed: 183 body.write(" %s\n" % item[0]) 184 185 if (len(delta.modified) > 0): 186 body.write("Modified:\n") 187 for item in delta.modified: 188 body.write(" %s\n" % item[0]) 189 190 body.write("\n") 191 192 tree_prev.lock_read() 193 try: 194 tree_ac.lock_read() 195 try: 196 diff = DiffTree.from_trees_options(tree_prev, tree_ac, body, "utf8", None, "", "", None) 197 diff.show_diff(None, None) 198 finally: 199 tree_ac.unlock() 200 finally: 201 tree_prev.unlock() 202 203 subject = "r%d - %s" % (revision_ac_no, commit_message) 204 send_smtp("localhost", config_sender(config), config_to(config), subject, body.getvalue()) 205 206 revision_prev_id = revision_ac_id 156 207 157 tree_old = branch.repository.revision_tree(revision_old_id)158 tree_new = branch.repository.revision_tree(revision_new_id)159 160 revision_new_no = branch.revision_id_to_revno(revision_new_id)161 delta = tree_new.changes_from(tree_old)162 163 if (len(delta.added) > 0):164 body.write("Added:\n")165 for item in delta.added:166 body.write(" %s\n" % item[0])167 168 if (len(delta.removed) > 0):169 body.write("Removed:\n")170 for item in delta.removed:171 body.write(" %s\n" % item[0])172 173 if (len(delta.renamed) > 0):174 body.write("Renamed:\n")175 for item in delta.renamed:176 body.write(" %s -> %s\n" % (item[0], item[1]))177 178 if (len(delta.kind_changed) > 0):179 body.write("Changed:\n")180 for item in delta.kind_changed:181 body.write(" %s\n" % item[0])182 183 if (len(delta.modified) > 0):184 body.write("Modified:\n")185 for item in delta.modified:186 body.write(" %s\n" % item[0])187 188 body.write("\n")189 190 tree_old.lock_read()191 try:192 tree_new.lock_read()193 try:194 diff = DiffTree.from_trees_options(tree_old, tree_new, body, "utf8", None, "", "", None)195 diff.show_diff(None, None)196 finally:197 tree_new.unlock()198 finally:199 tree_old.unlock()200 201 subject = "r%d - %s" % (revision_new_no, commit_message)202 203 send_smtp("localhost", config_sender(config), config_to(config), subject, body.getvalue())204 208 finally: 205 209 branch.repository.unlock() -
contrib/bazaar/bzreml/setup.py
r23db8aa r47a728e1 7 7 description = 'Commit email plugin for Bazaar', 8 8 keywords = 'plugin bzr email', 9 version = '1. 2',9 version = '1.3', 10 10 url = 'http://www.decky.cz/', 11 11 license = 'BSD', … … 13 13 author_email = 'martin@decky.cz', 14 14 long_description = """Hooks into Bazaar and sends commit notification emails.""", 15 package_dir = {'bzrlib.plugins.eml':'.'}, 15 package_dir = {'bzrlib.plugins.eml':'.'}, 16 16 packages = ['bzrlib.plugins.eml'] 17 17 ) -
contrib/conf/mips32-gx.sh
r23db8aa r47a728e1 8 8 fi 9 9 10 gxemul $@ -E oldtestmips -C R4000 -X image.boot -d d0:"$DISK_IMG" 10 if [ "$1" == "-E" ] && [ -n "$2" ]; then 11 MACHINE="$2" 12 shift 2 13 else 14 MACHINE="oldtestmips" 15 fi 16 17 gxemul $@ -E "$MACHINE" -C R4000 -X image.boot -d d0:"$DISK_IMG" -
defaults/mips32/Makefile.config
r23db8aa r47a728e1 47 47 CONFIG_MOUNT_DATA = n 48 48 49 # Barebone build with essential binaries only 50 CONFIG_BAREBONE = y -
kernel/arch/mips32/Makefile.inc
r23db8aa r47a728e1 29 29 BFD_ARCH = mips 30 30 BFD = binary 31 GCC_CFLAGS += -m no-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=3231 GCC_CFLAGS += -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=32 32 32 33 33 BITS = 32 … … 48 48 BFD_NAME = elf32-tradlittlemips 49 49 ENDIANESS = LE 50 GCC_CFLAGS += -mhard-float51 50 endif 52 51 -
kernel/arch/mips64/Makefile.inc
r23db8aa r47a728e1 29 29 BFD_ARCH = mips:4000 30 30 BFD = binary 31 GCC_CFLAGS += -m no-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=6431 GCC_CFLAGS += -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=64 32 32 AFLAGS = -64 33 33 … … 40 40 BFD_NAME = elf64-tradlittlemips 41 41 ENDIANESS = LE 42 GCC_CFLAGS += -mhard-float43 42 endif 44 43 -
kernel/generic/src/lib/str.c
r23db8aa r47a728e1 456 456 * 457 457 * Do a char-by-char comparison of two NULL-terminated strings. 458 * The strings are considered equal iff they consist of the same 459 * characters on the minimum of their lengths. 458 * The strings are considered equal iff their length is equal 459 * and both strings consist of the same sequence of characters. 460 * 461 * A string S1 is less than another string S2 if it has a character with 462 * lower value at the first character position where the strings differ. 463 * If the strings differ in length, the shorter one is treated as if 464 * padded by characters with a value of zero. 460 465 * 461 466 * @param s1 First string to compare. 462 467 * @param s2 Second string to compare. 463 468 * 464 * @return 0 if the strings are equal, -1 if first is smaller,465 * 1 if second smaller.469 * @return 0 if the strings are equal, -1 if the first is less than the second, 470 * 1 if the second is less than the first. 466 471 * 467 472 */ … … 494 499 * 495 500 * Do a char-by-char comparison of two NULL-terminated strings. 496 * The strings are considered equal iff they consist of the same 497 * characters on the minimum of their lengths and the length limit. 501 * The strings are considered equal iff 502 * min(str_length(s1), max_len) == min(str_length(s2), max_len) 503 * and both strings consist of the same sequence of characters, 504 * up to max_len characters. 505 * 506 * A string S1 is less than another string S2 if it has a character with 507 * lower value at the first character position where the strings differ. 508 * If the strings differ in length, the shorter one is treated as if 509 * padded by characters with a value of zero. Only the first max_len 510 * characters are considered. 498 511 * 499 512 * @param s1 First string to compare. … … 501 514 * @param max_len Maximum number of characters to consider. 502 515 * 503 * @return 0 if the strings are equal, -1 if first is smaller,504 * 1 if second smaller.516 * @return 0 if the strings are equal, -1 if the first is less than the second, 517 * 1 if the second is less than the first. 505 518 * 506 519 */ -
uspace/app/sportdmp/sportdmp.c
r23db8aa r47a728e1 37 37 static void syntax_print(void) 38 38 { 39 fprintf(stderr, "Usage: sportdmp <baud> <device_service>\n");39 fprintf(stderr, "Usage: sportdmp [--baud=<baud>] [device_service]\n"); 40 40 } 41 41 42 42 int main(int argc, char **argv) 43 43 { 44 const char* svc_path = "devices/\\hw\\pci0\\00:01.0\\com1\\a";45 44 sysarg_t baud = 9600; 45 service_id_t svc_id; 46 46 47 if (argc > 1) { 47 int arg = 1; 48 int rc; 49 50 if (argc > arg && str_test_prefix(argv[arg], "--baud=")) { 51 size_t arg_offset = str_lsize(argv[arg], 7); 52 char* arg_str = argv[arg] + arg_offset; 53 if (str_length(arg_str) == 0) { 54 fprintf(stderr, "--baud requires an argument\n"); 55 syntax_print(); 56 return 1; 57 } 48 58 char *endptr; 49 baud = strtol(arg v[1], &endptr, 10);59 baud = strtol(arg_str, &endptr, 10); 50 60 if (*endptr != '\0') { 51 61 fprintf(stderr, "Invalid value for baud\n"); … … 53 63 return 1; 54 64 } 65 arg++; 55 66 } 56 67 57 if (argc > 2) { 58 svc_path = argv[2]; 68 if (argc > arg) { 69 rc = loc_service_get_id(argv[arg], &svc_id, 0); 70 if (rc != EOK) { 71 fprintf(stderr, "Cannot find device service %s\n", 72 argv[arg]); 73 return 1; 74 } 75 arg++; 76 } 77 else { 78 category_id_t serial_cat_id; 79 80 rc = loc_category_get_id("serial", &serial_cat_id, 0); 81 if (rc != EOK) { 82 fprintf(stderr, "Failed getting id of category " 83 "'serial'\n"); 84 return 1; 85 } 86 87 service_id_t *svc_ids; 88 size_t svc_count; 89 90 rc = loc_category_get_svcs(serial_cat_id, &svc_ids, &svc_count); if (rc != EOK) { 91 fprintf(stderr, "Failed getting list of services\n"); 92 return 1; 93 } 94 95 if (svc_count == 0) { 96 fprintf(stderr, "No service in category 'serial'\n"); 97 free(svc_ids); 98 return 1; 99 } 100 101 svc_id = svc_ids[0]; 102 free(svc_ids); 59 103 } 60 104 61 if (argc > 3) { 105 if (argc > arg) { 106 fprintf(stderr, "Too many arguments\n"); 62 107 syntax_print(); 63 108 return 1; 64 109 } 65 110 66 service_id_t svc_id;67 int rc = loc_service_get_id(svc_path, &svc_id, IPC_FLAG_BLOCKING);68 if (rc != EOK) {69 fprintf(stderr, "Cannot find device service %s\n", svc_path);70 return 1;71 }72 111 73 112 async_sess_t *sess = loc_service_connect(EXCHANGE_SERIALIZE, svc_id, 74 113 IPC_FLAG_BLOCKING); 75 114 if (!sess) { 76 fprintf(stderr, "Failed connecting to service %s\n", svc_path);115 fprintf(stderr, "Failed connecting to service\n"); 77 116 } 78 117 -
uspace/lib/c/arch/abs32le/_link.ld.in
r23db8aa r47a728e1 14 14 SECTIONS { 15 15 #ifdef LOADER 16 . = 0x70001000 + SIZEOF_HEADERS; 17 16 18 .interp : { 17 19 *(.interp); 18 } :interp 19 20 . = 0x70001000 + SIZEOF_HEADERS; 20 } :interp :text 21 21 #else 22 22 . = 0x1000 + SIZEOF_HEADERS; 23 23 #endif 24 25 /* Make sure the code is aligned reasonably */ 26 . = ALIGN(., 16); 27 24 28 .text : { 25 29 *(.text .text.*); -
uspace/lib/c/arch/amd64/_link.ld.in
r23db8aa r47a728e1 15 15 SECTIONS { 16 16 #ifdef LOADER 17 . = 0x70001000 + SIZEOF_HEADERS; 18 17 19 .interp : { 18 20 *(.interp); 19 } :interp 20 21 . = 0x70001000 + SIZEOF_HEADERS; 21 } :interp :text 22 22 #else 23 23 . = 0x1000 + SIZEOF_HEADERS; 24 24 #endif 25 26 /* Make sure the code is aligned reasonably */ 27 . = ALIGN(., 16); 28 25 29 .init : { 26 30 *(.init); -
uspace/lib/c/arch/arm32/_link.ld.in
r23db8aa r47a728e1 14 14 SECTIONS { 15 15 #ifdef LOADER 16 . = 0x70001000 + SIZEOF_HEADERS; 17 16 18 .interp : { 17 19 *(.interp); 18 } :interp 19 20 . = 0x70001000 + SIZEOF_HEADERS; 20 } :interp :text 21 21 #else 22 22 . = 0x1000 + SIZEOF_HEADERS; 23 23 #endif 24 25 /* Make sure the code is aligned reasonably */ 26 . = ALIGN(., 8); 27 24 28 .init : { 25 29 *(.init); -
uspace/lib/c/arch/arm32/src/fibril.S
r23db8aa r47a728e1 35 35 stmia r0!, {sp, lr} 36 36 stmia r0!, {r4-r11} 37 37 38 38 # return 1 39 39 mov r0, #1 … … 43 43 ldmia r0!, {sp, lr} 44 44 ldmia r0!, {r4-r11} 45 46 # return 045 46 # return 0 47 47 mov r0, #0 48 48 mov pc, lr -
uspace/lib/c/arch/arm32/src/stacktrace_asm.S
r23db8aa r47a728e1 41 41 42 42 stacktrace_pc_get: 43 mov r0, lr 43 mov r0, lr 44 44 mov pc, lr -
uspace/lib/c/arch/arm32/src/thread_entry.s
r23db8aa r47a728e1 42 42 push {fp, ip, lr, pc} 43 43 sub fp, ip, #4 44 45 44 45 b __thread_main -
uspace/lib/c/arch/ia32/_link.ld.in
r23db8aa r47a728e1 19 19 20 20 SECTIONS { 21 #if defined(LOADER) || defined(DLEXE)22 .interp : {23 *(.interp);24 } :interp25 #endif26 21 #ifdef LOADER 27 22 . = 0x70001000 + SIZEOF_HEADERS; … … 29 24 . = 0x1000 + SIZEOF_HEADERS; 30 25 #endif 26 27 #if defined(LOADER) || defined(DLEXE) 28 .interp : { 29 *(.interp); 30 } :interp :text 31 #endif 32 33 /* Make sure the code is aligned reasonably */ 34 . = ALIGN(., 16); 35 31 36 .init : { 32 37 *(.init); … … 37 42 *(.rodata .rodata.*); 38 43 } :text 39 44 40 45 #if defined(SHLIB) || defined(DLEXE) 41 46 .rel.plt : { … … 80 85 #if defined(SHLIB) || defined(DLEXE) 81 86 .data.rel : { 82 87 *(.data.rel .data.rel.*); 83 88 } :data 84 89 85 90 .got : { 86 91 *(.got); 87 92 } :data 93 88 94 .got.plt : { 89 95 *(.got.plt); 90 96 } :data 91 97 #endif -
uspace/lib/c/arch/ia64/_link.ld.in
r23db8aa r47a728e1 14 14 SECTIONS { 15 15 #ifdef LOADER 16 . = 0x800000000 + SIZEOF_HEADERS; 17 16 18 .interp : { 17 19 *(.interp); 18 } :interp 19 20 . = 0x800000000 + SIZEOF_HEADERS; 20 } :interp :text 21 21 #else 22 22 . = 0x4000 + SIZEOF_HEADERS; 23 23 #endif 24 /* 25 * XXX This is just a work around. Problem: .init section does not 26 * have the proper alignment. 27 */ 24 25 /* Make sure the code is aligned reasonably */ 28 26 . = ALIGN(., 16); 29 27 30 28 .init : { 31 29 *(.init); -
uspace/lib/c/arch/mips32/Makefile.common
r23db8aa r47a728e1 27 27 # 28 28 29 GCC_CFLAGS += -m ips3 -mabi=3229 GCC_CFLAGS += -msoft-float -mips3 -mabi=32 30 30 31 31 ENDIANESS = LE -
uspace/lib/c/arch/mips32/_link.ld.in
r23db8aa r47a728e1 14 14 SECTIONS { 15 15 #ifdef LOADER 16 . = 0x70004000 + SIZEOF_HEADERS; 17 16 18 .interp : { 17 19 *(.interp); 18 } :interp 19 20 . = 0x70004000 + SIZEOF_HEADERS; 20 } :interp :text 21 21 #else 22 22 . = 0x4000 + SIZEOF_HEADERS; 23 23 #endif 24 25 /* Make sure the code is aligned reasonably */ 26 . = ALIGN(., 16); 27 24 28 .init : { 25 29 *(.init); -
uspace/lib/c/arch/mips32eb/Makefile.common
r23db8aa r47a728e1 27 27 # 28 28 29 GCC_CFLAGS += -m ips3 -mabi=3229 GCC_CFLAGS += -msoft-float -mips3 -mabi=32 30 30 31 31 ENDIANESS = BE -
uspace/lib/c/arch/mips64/Makefile.common
r23db8aa r47a728e1 27 27 # 28 28 29 GCC_CFLAGS += -m ips3 -mabi=6429 GCC_CFLAGS += -msoft-float -mips3 -mabi=64 30 30 AFLAGS = -64 31 31 -
uspace/lib/c/arch/mips64/_link.ld.in
r23db8aa r47a728e1 15 15 SECTIONS { 16 16 #ifdef LOADER 17 . = 0x70004000 + SIZEOF_HEADERS; 18 17 19 .interp : { 18 20 *(.interp); 19 } :interp 20 21 . = 0x70004000 + SIZEOF_HEADERS; 21 } :interp :text 22 22 #else 23 23 . = 0x4000 + SIZEOF_HEADERS; 24 24 #endif 25 26 /* Make sure the code is aligned reasonably */ 27 . = ALIGN(., 16); 28 25 29 .init : { 26 30 *(.init); -
uspace/lib/c/arch/ppc32/_link.ld.in
r23db8aa r47a728e1 15 15 SECTIONS { 16 16 #ifdef LOADER 17 . = 0x70001000 + SIZEOF_HEADERS; 18 17 19 .interp : { 18 20 *(.interp); 19 } :interp 20 21 . = 0x70001000 + SIZEOF_HEADERS; 21 } :interp :text 22 22 #else 23 23 . = 0x1000 + SIZEOF_HEADERS; 24 24 #endif 25 26 /* Make sure the code is aligned reasonably */ 27 . = ALIGN(., 4); 28 25 29 .init : { 26 30 *(.init); -
uspace/lib/c/arch/sparc64/_link.ld.in
r23db8aa r47a728e1 14 14 SECTIONS { 15 15 #ifdef LOADER 16 . = 0x70004000 + SIZEOF_HEADERS; 17 16 18 .interp : { 17 19 *(.interp); 18 } :interp 19 20 . = 0x70004000 + SIZEOF_HEADERS; 20 } :interp :text 21 21 #else 22 22 . = 0x4000 + SIZEOF_HEADERS; 23 23 #endif 24 25 /* Make sure the code is aligned reasonably */ 26 . = ALIGN(., 16); 27 24 28 .init : { 25 29 *(.init); -
uspace/lib/c/generic/str.c
r23db8aa r47a728e1 428 428 * 429 429 * Do a char-by-char comparison of two NULL-terminated strings. 430 * The strings are considered equal iff they consist of the same 431 * characters on the minimum of their lengths. 430 * The strings are considered equal iff their length is equal 431 * and both strings consist of the same sequence of characters. 432 * 433 * A string S1 is less than another string S2 if it has a character with 434 * lower value at the first character position where the strings differ. 435 * If the strings differ in length, the shorter one is treated as if 436 * padded by characters with a value of zero. 432 437 * 433 438 * @param s1 First string to compare. 434 439 * @param s2 Second string to compare. 435 440 * 436 * @return 0 if the strings are equal, -1 if first is smaller,437 * 1 if second smaller.441 * @return 0 if the strings are equal, -1 if the first is less than the second, 442 * 1 if the second is less than the first. 438 443 * 439 444 */ … … 466 471 * 467 472 * Do a char-by-char comparison of two NULL-terminated strings. 468 * The strings are considered equal iff they consist of the same 469 * characters on the minimum of their lengths and the length limit. 473 * The strings are considered equal iff 474 * min(str_length(s1), max_len) == min(str_length(s2), max_len) 475 * and both strings consist of the same sequence of characters, 476 * up to max_len characters. 477 * 478 * A string S1 is less than another string S2 if it has a character with 479 * lower value at the first character position where the strings differ. 480 * If the strings differ in length, the shorter one is treated as if 481 * padded by characters with a value of zero. Only the first max_len 482 * characters are considered. 470 483 * 471 484 * @param s1 First string to compare. … … 473 486 * @param max_len Maximum number of characters to consider. 474 487 * 475 * @return 0 if the strings are equal, -1 if first is smaller,476 * 1 if second smaller.488 * @return 0 if the strings are equal, -1 if the first is less than the second, 489 * 1 if the second is less than the first. 477 490 * 478 491 */ … … 508 521 return 0; 509 522 523 } 524 525 /** Test whether p is a prefix of s. 526 * 527 * Do a char-by-char comparison of two NULL-terminated strings 528 * and determine if p is a prefix of s. 529 * 530 * @param s The string in which to look 531 * @param p The string to check if it is a prefix of s 532 * 533 * @return true iff p is prefix of s else false 534 * 535 */ 536 bool str_test_prefix(const char *s, const char *p) 537 { 538 wchar_t c1 = 0; 539 wchar_t c2 = 0; 540 541 size_t off1 = 0; 542 size_t off2 = 0; 543 544 while (true) { 545 c1 = str_decode(s, &off1, STR_NO_LIMIT); 546 c2 = str_decode(p, &off2, STR_NO_LIMIT); 547 548 if (c2 == 0) 549 return true; 550 551 if (c1 != c2) 552 return false; 553 554 if (c1 == 0) 555 break; 556 } 557 558 return false; 510 559 } 511 560 … … 1085 1134 c = (c >= 'a' ? c - 'a' + 10 : (c >= 'A' ? c - 'A' + 10 : 1086 1135 (c <= '9' ? c - '0' : 0xff))); 1087 if (c > base) {1136 if (c >= base) { 1088 1137 break; 1089 1138 } -
uspace/lib/c/include/str.h
r23db8aa r47a728e1 79 79 extern int str_lcmp(const char *s1, const char *s2, size_t max_len); 80 80 81 extern bool str_test_prefix(const char *s, const char *p); 82 81 83 extern void str_cpy(char *dest, size_t size, const char *src); 82 84 extern void str_ncpy(char *dest, size_t size, const char *src, size_t n); -
uspace/lib/clui/tinput.c
r23db8aa r47a728e1 601 601 602 602 unsigned int cols = max(1, (ti->con_cols + 1) / (max_length + 1)); 603 unsigned int col_width = ti->con_cols / cols; 603 unsigned int padding = 0; 604 if ((cols * max_length) + (cols - 1) < ti->con_cols) { 605 padding = ti->con_cols - (cols * max_length) - (cols - 1); 606 } 607 unsigned int col_width = max_length + padding / cols; 604 608 unsigned int rows = cnum / cols + ((cnum % cols) != 0); 605 609 -
uspace/srv/loader/interp.S
r23db8aa r47a728e1 5 5 # 6 6 7 #ifdef UARCH_arm32 8 #define AT_NOTE %note 9 #else 10 #define AT_NOTE @note 7 #if ((defined(UARCH_abs32le)) && (defined(COMPILER_gcc_cross)) \ 8 && (defined(CROSS_TARGET_arm32))) 9 #define ATSIGN(arg) % ## arg 11 10 #endif 12 11 13 .section .interp, "a", AT_NOTE 12 #ifdef UARCH_arm32 13 #define ATSIGN(arg) % ## arg 14 #endif 15 16 #ifndef ATSIGN 17 #define ATSIGN(arg) @ ## arg 18 #endif 19 20 .section .interp, "a", ATSIGN(progbits) 14 21 .string "kernel"
Note:
See TracChangeset
for help on using the changeset viewer.