Advertisement
kotoroshinoto

Untitled

Mar 5th, 2014
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. void printArgList(int argc, char ** argv){
  2. size_t sz=0;
  3. void* stopPos=0;
  4. int pos=0;
  5. char* ptr=0;
  6. unsigned int gaps=0;
  7. while(argv[argc-1][pos]){
  8. pos++;
  9. }
  10. stopPos=&(argv[argc-1][pos]);
  11. sz=((unsigned int)stopPos-(unsigned int)(*argv))+1;
  12. gaps=4-sz % 4;
  13.  
  14. // printf("\n%X\n",(unsigned int)stopPos);
  15. // printf("%i\n",((unsigned int) stopPos)-((unsigned int)(*argv)));
  16. // fprintf(stderr,"size: %u, gaps: %u, *argv: %08X, stopPos: %08X\n",sz,gaps,(unsigned)*argv,(unsigned)stopPos);
  17. ptr=*argv+sz-(sz%4);
  18. if(gaps == 4){gaps=0;}
  19. else {
  20. printItem(0,(int*)ptr,gaps);
  21. }
  22. ptr-=4;
  23. while((char*)ptr >= *argv){
  24. printItem(0,(int*)ptr,0);
  25. ptr-=4;
  26. }
  27. }
  28. void printArgListSTR(int argc, char ** argv){
  29. size_t sz=0;
  30. void* stopPos=0;
  31. int pos=0;
  32. char* ptr=0;
  33. unsigned int gaps=0;
  34. while(argv[argc-1][pos]){
  35. pos++;
  36. }
  37. stopPos=&(argv[argc-1][pos]);
  38. sz=((unsigned int)stopPos-(unsigned int)(*argv))+1;
  39. gaps=4-sz % 4;
  40. // printf("\n%X\n",(unsigned int)stopPos);
  41. // printf("%i\n",((unsigned int) stopPos)-((unsigned int)(*argv)));
  42. // fprintf(stderr,"size: %u, gaps: %u, *argv: %08X, stopPos: %08X\n",sz,gaps,(unsigned)*argv,(unsigned)stopPos);
  43. ptr=*argv+sz-(sz%4);
  44. if(gaps == 4){gaps=0;}
  45. else {
  46. printItemStr(0,ptr,gaps);
  47. }
  48. ptr-=4;
  49. while(ptr >= *argv){
  50. printItemStr(0,ptr,0);
  51. ptr-=4;
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement