Changeset 9b0a6b4 in mainline for uspace/app
- Timestamp:
- 2012-04-13T06:36:25Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 90f067d9
- Parents:
- e61aa80 (diff), d11a181 (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. - Location:
- uspace/app
- Files:
-
- 10 edited
-
bdsh/cmds/modules/cat/cat.c (modified) (10 diffs)
-
bdsh/cmds/modules/cat/cat.h (modified) (1 diff)
-
binutils/Makefile (modified) (1 diff)
-
getterm/Makefile (modified) (1 diff)
-
getterm/version.c (modified) (2 diffs)
-
sbi/src/run_texpr.c (modified) (3 diffs)
-
sportdmp/sportdmp.c (modified) (5 diffs)
-
tester/fault/fault2.c (modified) (1 diff)
-
tester/hw/serial/serial1.c (modified) (5 diffs)
-
websrv/websrv.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/bdsh/cmds/modules/cat/cat.c
re61aa80 r9b0a6b4 52 52 #define CAT_VERSION "0.0.1" 53 53 #define CAT_DEFAULT_BUFLEN 1024 54 55 static const char *cat_oops = "That option is not yet supported\n"; 54 #define CAT_FULL_FILE 0 55 56 56 static const char *hexchars = "0123456789abcdef"; 57 57 … … 163 163 } 164 164 165 static unsigned int cat_file(const char *fname, size_t blen, bool hex) 165 static unsigned int cat_file(const char *fname, size_t blen, bool hex, 166 off64_t head, off64_t tail, bool tail_first) 166 167 { 167 168 int fd, bytes = 0, count = 0, reads = 0; 168 169 char *buff = NULL; 169 170 int i; 170 size_t offset = 0; 171 size_t offset = 0, copied_bytes = 0; 172 off64_t file_size = 0, length = 0; 171 173 172 174 fd = open(fname, O_RDONLY); … … 183 185 } 184 186 187 if (tail != CAT_FULL_FILE) { 188 file_size = lseek(fd, 0, SEEK_END); 189 if (head == CAT_FULL_FILE) { 190 head = file_size; 191 length = tail; 192 } else if (tail_first) { 193 length = head; 194 } else { 195 if (tail > head) 196 tail = head; 197 length = tail; 198 } 199 200 if (tail_first) { 201 lseek(fd, (tail >= file_size) ? 0 : (file_size - tail), SEEK_SET); 202 } else { 203 lseek(fd, ((head - tail) >= file_size) ? 0 : (head - tail), SEEK_SET); 204 } 205 } else 206 length = head; 207 185 208 do { 186 bytes = read(fd, buff, blen); 209 bytes = read(fd, buff + copied_bytes, ( 210 (length != CAT_FULL_FILE && length - (off64_t)count <= (off64_t)(blen - copied_bytes)) ? 211 (size_t)(length - count) : 212 (blen - copied_bytes) ) ); 213 bytes += copied_bytes; 214 copied_bytes = 0; 215 187 216 if (bytes > 0) { 188 count += bytes;189 217 buff[bytes] = '\0'; 190 218 offset = 0; … … 193 221 paged_char(hexchars[((uint8_t)buff[i])/16]); 194 222 paged_char(hexchars[((uint8_t)buff[i])%16]); 223 paged_char(((count+i+1) & 0xf) == 0 ? '\n' : ' '); 195 224 } 196 225 else { … … 199 228 /* Reached end of string */ 200 229 break; 230 } else if (c == U_SPECIAL && offset + 2 >= (size_t)bytes) { 231 /* If an extended character is cut off due to the size of the buffer, 232 we will copy it over to the next buffer so it can be read correctly. */ 233 copied_bytes = bytes - offset + 1; 234 memcpy(buff, buff + offset - 1, copied_bytes); 235 break; 201 236 } 202 237 paged_char(c); … … 204 239 205 240 } 241 count += bytes; 206 242 reads++; 207 243 } 208 } while (bytes > 0 && !should_quit );244 } while (bytes > 0 && !should_quit && (count < length || length == CAT_FULL_FILE)); 209 245 210 246 close(fd); … … 223 259 int cmd_cat(char **argv) 224 260 { 225 unsigned int argc, i, ret = 0, buffer = 0; 261 unsigned int argc, i, ret = 0; 262 size_t buffer = 0; 226 263 int c, opt_ind; 264 aoff64_t head = CAT_FULL_FILE, tail = CAT_FULL_FILE; 227 265 bool hex = false; 228 266 bool more = false; 267 bool tailFirst = false; 229 268 sysarg_t rows, cols; 230 269 int rc; … … 254 293 return CMD_SUCCESS; 255 294 case 'H': 256 printf("%s", cat_oops); 257 return CMD_FAILURE; 295 if (!optarg || str_uint64_t(optarg, NULL, 10, false, &head) != EOK ) { 296 puts("Invalid head size\n"); 297 return CMD_FAILURE; 298 } 299 break; 258 300 case 't': 259 printf("%s", cat_oops); 260 return CMD_FAILURE; 301 if (!optarg || str_uint64_t(optarg, NULL, 10, false, &tail) != EOK ) { 302 puts("Invalid tail size\n"); 303 return CMD_FAILURE; 304 } 305 if (head == CAT_FULL_FILE) 306 tailFirst = true; 307 break; 261 308 case 'b': 262 printf("%s", cat_oops); 309 if (!optarg || str_size_t(optarg, NULL, 10, false, &buffer) != EOK ) { 310 puts("Invalid buffer size\n"); 311 return CMD_FAILURE; 312 } 263 313 break; 264 314 case 'm': … … 279 329 } 280 330 281 if (buffer < = 0)331 if (buffer < 4) 282 332 buffer = CAT_DEFAULT_BUFLEN; 283 333 … … 295 345 296 346 for (i = optind; argv[i] != NULL && !should_quit; i++) 297 ret += cat_file(argv[i], buffer, hex );347 ret += cat_file(argv[i], buffer, hex, head, tail, tailFirst); 298 348 299 349 if (ret) -
uspace/app/bdsh/cmds/modules/cat/cat.h
re61aa80 r9b0a6b4 4 4 /* Prototypes for the cat command, excluding entry points */ 5 5 6 static unsigned int cat_file(const char *, size_t, bool );6 static unsigned int cat_file(const char *, size_t, bool, off64_t, off64_t, bool); 7 7 8 8 #endif /* CAT_H */ -
uspace/app/binutils/Makefile
re61aa80 r9b0a6b4 112 112 endif 113 113 ifeq ($(PLATFORM),arm32) 114 TARGET = arm-linux-gnu 114 TARGET = arm-linux-gnueabi 115 115 endif 116 116 ifeq ($(PLATFORM),ia32) -
uspace/app/getterm/Makefile
re61aa80 r9b0a6b4 29 29 30 30 USPACE_PREFIX = ../.. 31 DEFS = -DRELEASE=$(RELEASE) "-D NAME=$(NAME)"31 DEFS = -DRELEASE=$(RELEASE) "-DCOPYRIGHT=$(COPYRIGHT)" "-DNAME=$(NAME)" 32 32 BINARY = getterm 33 33 -
uspace/app/getterm/version.c
re61aa80 r9b0a6b4 40 40 #include "version.h" 41 41 42 static const char *copyright = STRING(COPYRIGHT); 42 43 static const char *release = STRING(RELEASE); 43 44 static const char *name = STRING(NAME); … … 61 62 printf("HelenOS release %s (%s)%s%s\n", release, name, revision, timestamp); 62 63 printf("Running on %s (%s)\n", arch, term); 63 printf(" Copyright (c) 2001-2011 HelenOS project\n\n");64 printf("%s\n\n", copyright); 64 65 } 65 66 -
uspace/app/sbi/src/run_texpr.c
re61aa80 r9b0a6b4 98 98 { 99 99 stree_symbol_t *sym; 100 tdata_item_t *targ_i ;101 tdata_item_t *titem ;100 tdata_item_t *targ_i = NULL; 101 tdata_item_t *titem = NULL;; 102 102 tdata_object_t *tobject; 103 103 tdata_deleg_t *tdeleg; … … 139 139 return; 140 140 } 141 142 /* Make compiler happy. */143 titem = NULL;144 141 145 142 switch (sym->sc) { … … 222 219 stree_tindex_t *tindex, tdata_item_t **res) 223 220 { 224 tdata_item_t *base_ti ;221 tdata_item_t *base_ti = NULL; 225 222 tdata_item_t *titem; 226 223 tdata_array_t *tarray; -
uspace/app/sportdmp/sportdmp.c
re61aa80 r9b0a6b4 27 27 */ 28 28 29 #include <device/char_dev.h> 29 30 #include <errno.h> 31 #include <ipc/serial_ctl.h> 32 #include <loc.h> 30 33 #include <stdio.h> 31 #include <devman.h>32 #include <ipc/devman.h>33 #include <device/char_dev.h>34 #include <ipc/serial_ctl.h>35 34 36 35 #define BUF_SIZE 1 37 36 38 static void syntax_print() { 39 fprintf(stderr, "Usage: sportdmp <baud> <device_path>\n"); 37 static void syntax_print(void) 38 { 39 fprintf(stderr, "Usage: sportdmp <baud> <device_service>\n"); 40 40 } 41 41 42 42 int main(int argc, char **argv) 43 43 { 44 const char* devpath = "/hw/pci0/00:01.0/com1/a";44 const char* svc_path = "devices/\\hw\\pci0\\00:01.0\\com1\\a"; 45 45 sysarg_t baud = 9600; 46 46 … … 56 56 57 57 if (argc > 2) { 58 devpath = argv[2];58 svc_path = argv[2]; 59 59 } 60 60 … … 64 64 } 65 65 66 devman_handle_t device;67 int rc = devman_fun_get_handle(devpath, &device, IPC_FLAG_BLOCKING);66 service_id_t svc_id; 67 int rc = loc_service_get_id(svc_path, &svc_id, IPC_FLAG_BLOCKING); 68 68 if (rc != EOK) { 69 fprintf(stderr, "Cannot open device %s\n", devpath);69 fprintf(stderr, "Cannot find device service %s\n", svc_path); 70 70 return 1; 71 71 } 72 72 73 async_sess_t *sess = devman_device_connect(EXCHANGE_SERIALIZE, device,73 async_sess_t *sess = loc_service_connect(EXCHANGE_SERIALIZE, svc_id, 74 74 IPC_FLAG_BLOCKING); 75 75 if (!sess) { 76 fprintf(stderr, " Cannot connect device\n");76 fprintf(stderr, "Failed connecting to service %s\n", svc_path); 77 77 } 78 78 … … 83 83 84 84 if (rc != EOK) { 85 fprintf(stderr, " Cannot setserial properties\n");85 fprintf(stderr, "Failed setting serial properties\n"); 86 86 return 2; 87 87 } … … 89 89 uint8_t *buf = (uint8_t *) malloc(BUF_SIZE); 90 90 if (buf == NULL) { 91 fprintf(stderr, " Cannot allocatebuffer\n");91 fprintf(stderr, "Failed allocating buffer\n"); 92 92 return 3; 93 93 } -
uspace/app/tester/fault/fault2.c
re61aa80 r9b0a6b4 35 35 const char *test_fault2(void) 36 36 { 37 volatile long long var; 38 volatile int var1; 39 40 var1 = *((aliasing_int *) (((char *) (&var)) + 1)); 37 volatile long long var = 0; 38 volatile int var1 = *((aliasing_int *) (((char *) (&var)) + 1)); 41 39 printf("Read %d\n", var1); 42 40 -
uspace/app/tester/hw/serial/serial1.c
re61aa80 r9b0a6b4 42 42 #include <async.h> 43 43 #include <ipc/services.h> 44 #include <ipc/devman.h> 45 #include <devman.h> 44 #include <loc.h> 46 45 #include <device/char_dev.h> 47 46 #include <str.h> … … 71 70 } 72 71 73 devman_handle_t handle;74 int res = devman_fun_get_handle("/hw/pci0/00:01.0/com1/a", &handle,75 IPC_FLAG_BLOCKING);72 service_id_t svc_id; 73 int res = loc_service_get_id("devices/\\hw\\pci0\\00:01.0\\com1\\a", 74 &svc_id, IPC_FLAG_BLOCKING); 76 75 if (res != EOK) 77 return " Could not get serial device handle";78 79 async_sess_t *sess = devman_device_connect(EXCHANGE_SERIALIZE, handle,76 return "Failed getting serial port service ID"; 77 78 async_sess_t *sess = loc_service_connect(EXCHANGE_SERIALIZE, svc_id, 80 79 IPC_FLAG_BLOCKING); 81 80 if (!sess) 82 return " Unable to connectto serial device";81 return "Failed connecting to serial device"; 83 82 84 83 char *buf = (char *) malloc(cnt + 1); 85 84 if (buf == NULL) { 86 85 async_hangup(sess); 87 return "Failed to allocateinput buffer";86 return "Failed allocating input buffer"; 88 87 } 89 88 … … 112 111 free(buf); 113 112 async_hangup(sess); 114 return "Failed to setserial communication parameters";115 } 116 117 TPRINTF("Trying to read%zu characters from serial device "118 "( handle=%" PRIun ")\n", cnt, handle);113 return "Failed setting serial communication parameters"; 114 } 115 116 TPRINTF("Trying reading %zu characters from serial device " 117 "(svc_id=%" PRIun ")\n", cnt, svc_id); 119 118 120 119 size_t total = 0; … … 130 129 free(buf); 131 130 async_hangup(sess); 132 return "Failed read from serial device";131 return "Failed reading from serial device"; 133 132 } 134 133 … … 165 164 free(buf); 166 165 async_hangup(sess); 167 return "Failed writ eto serial device";166 return "Failed writing to serial device"; 168 167 } 169 168 -
uspace/app/websrv/websrv.c
re61aa80 r9b0a6b4 201 201 { 202 202 if (str_cmp(uri, "/") == 0) 203 uri = "/index.htm ";203 uri = "/index.html"; 204 204 205 205 char *fname;
Note:
See TracChangeset
for help on using the changeset viewer.
