示例#1
0
/*
 * Update R, G, B, color or bank index on screen.
 */
void
slidtext( void )
{
	switch (curslid) {
		
		case RSLIDE:
    		myitoa(curscrn[R], TedText(curslid));
			break;
			
		case GSLIDE:
    		myitoa(curscrn[G], TedText(curslid));
			break;
			
		case BSLIDE:
    		myitoa(curscrn[B], TedText(curslid));
			break;
			
		case CSLIDE:
    		myitoa(curcol, TedText(curslid));
			break;
			
		default:
			break;
	}
}
示例#2
0
/*
 * Update R, G, B, color or bank index on screen.
 */
void
slidtext()
{
	switch (curslid) {
		
		case RSLID:
    		myitoa(curscrn[R], TedText(curslid));
			break;
			
		case GSLID:
    		myitoa(curscrn[G], TedText(curslid));
			break;
			
		case BSLID:
    		myitoa(curscrn[B], TedText(curslid));
			break;
			
		case BNKSLID:
    		myitoa(curbnk, TedText(curslid));
			break;
			
		case COLSLID:
    		myitoa(curcol, TedText(curslid));
			break;
			
		default:
			break;
	}
}
示例#3
0
int main() {
    char str[10];
    myitoa(1234, str);
    printf("%s\n", str);
    myitoa(-1234, str);
    printf("%s\n", str);
    return 0;
}
示例#4
0
    BSONObj S2SearchUtil::coverAsBSON(const vector<S2CellId> &cover, const string& field,
                                      const int coarsestIndexedLevel) {
        BSONObjBuilder queryBuilder;
        BSONObjBuilder inBuilder(queryBuilder.subobjStart(field));
        // To have an array where elements of that array are regexes, we have to do this.
        BSONObjBuilder inArrayBuilder(inBuilder.subarrayStart("$in"));
        // Sadly we must keep track of this ourselves.  Oh, BSONObjBuilder, you rascal!
        int arrayPos = 0;

        bool considerCoarser = false;

        // Look at the cells we cover and all cells that are within our covering and
        // finer.  Anything with our cover as a strict prefix is contained within the cover and
        // should be intersection tested.
        for (size_t i = 0; i < cover.size(); ++i) {
            // First argument is position in the array as a string.
            // Third argument is options to regex.
            inArrayBuilder.appendRegex(myitoa(arrayPos++), "^" + cover[i].toString(), "");
            // If any of our covers could be covered by something in the index, we have
            // to look at things coarser.
            considerCoarser = considerCoarser || (cover[i].level() > coarsestIndexedLevel);
        }

        if (considerCoarser) {
            // Look at the cells that cover us.  We want to look at every cell that
            // contains the covering we would index on if we were to insert the
            // query geometry.  We generate the would-index-with-this-covering and
            // find all the cells strictly containing the cells in that set, until we hit the
            // coarsest indexed cell.  We use $in, not a prefix match.  Why not prefix?  Because
            // we've already looked at everything finer or as fine as our initial covering.
            //
            // Say we have a fine point with cell id 212121, we go up one, get 21212, we don't
            // want to look at cells 21212[not-1] because we know they're not going to intersect
            // with 212121, but entries inserted with cell value 21212 (no trailing digits) may.
            // And we've already looked at points with the cell id 211111 from the regex search
            // created above, so we only want things where the value of the last digit is not
            // stored (and therefore could be 1).
            unordered_set<S2CellId> parents;
            for (size_t i = 0; i < cover.size(); ++i) {
                for (S2CellId id = cover[i].parent(); id.level() >= coarsestIndexedLevel;
                        id = id.parent()) {
                    parents.insert(id);
                }
            }

            for (unordered_set<S2CellId>::const_iterator it = parents.begin(); it != parents.end(); ++it) {
                inArrayBuilder.append(myitoa(arrayPos++), it->toString());
            }
        }

        inArrayBuilder.done();
        inBuilder.done();
        return queryBuilder.obj();
    }
示例#5
0
文件: Ui.c 项目: kichik/nsis-1
static void NSISCALL set_language()
{
  LANGID lang_mask=(LANGID)~0;
  LANGID lang=state_language[0]?myatoi(state_language):GetUserDefaultLangID();
  char *language_table=0;
  int lang_num;

lang_again:
  lang_num=g_blocks[NB_LANGTABLES].num;
  while (lang_num--) {
    language_table=((char*)g_blocks[NB_LANGTABLES].offset)+lang_num*g_header->langtable_size;
    if (!((lang ^ *(LANGID*)language_table) & lang_mask)) {
      dlg_offset=*(int*)(language_table+sizeof(LANGID));
      g_exec_flags.rtl=*(int*)(language_table+sizeof(LANGID)+sizeof(int));
      cur_langtable=(int*)(language_table+sizeof(LANGID)+2*sizeof(int));
      break;
    }
  }
  if (!cur_langtable) {
    if (lang_mask == (LANGID)~0)
      lang_mask=0x3ff; // primary lang
    else // we already tried once and we still don't have a language table
      lang_mask=0; // first lang
    goto lang_again;
  }

  myitoa(state_language, *(LANGID*)language_table);
  {
    char *caption = GetNSISString(g_caption,LANG_CAPTION);
#ifdef NSIS_SUPPORT_BGBG
    my_SetWindowText(m_bgwnd, caption);
#endif
  }
}
示例#6
0
/**
 * @brief Output a string associated with a return code.
 *
 * @param rc @input the return code.
 *
 * @returns A string associated with the return code.
 */
const char *nnti_err_str(int rc)
{
    switch (rc) {

    case NNTI_OK:
        return "NNTI_OK";

        /** @brief Unspecified I/O error. */
    case NNTI_EIO:
        return "NNTI_EIO";

        /** @brief The size of the message is larger than the supported maximum size. */
    case NNTI_EMSGSIZE:
        return "NNTI_EMSGSIZE";

        /** @brief The operation or process has been canceled. */
    case NNTI_ECANCELED:
        return "NNTI_ECANCELED";

        /** @brief An operation timed out. */
    case NNTI_ETIMEDOUT:
        return "NNTI_ETIMEDOUT";

        /** @brief The value of the variable or parameter is invalid. */
    case NNTI_EINVAL:
        return "NNTI_EINVAL";

        /** @brief  No memory is available. */
    case NNTI_ENOMEM:
        return "NNTI_ENOMEM";

        /** @brief No such entry. */
    case NNTI_ENOENT:
        return "NNTI_ENOENT";

        /** @brief Unsupported operation. */
    case NNTI_ENOTSUP:
        return "NNTI_ENOTSUP";

        /** @brief The item already exists. */
    case NNTI_EEXIST:
        return "NNTI_EEXIST";

        /** @brief Unsuccessful RPC operation. */
    case NNTI_EBADRPC:
        return "NNTI_EBADRPC";

        /** @brief Not initialized. */
    case NNTI_ENOTINIT:
        return "NNTI_ENOTINIT";

        /** @brief Insufficient priveleges to perform operation. */
    case NNTI_EPERM:
        return "NNTI_EPERM";

    default:
        return myitoa(rc);
    }
}
示例#7
0
int main()
{
  char *strp = malloc(100);
  int n;
  printf("please input n:");
  scanf("%d\n",&n);
  printf("%s\n",myitoa(n,strp));
  return 0;
}
示例#8
0
/**
 * USART0 RX Complete ISR 
 * Read the USART data register.
 * If ctl-Z set record to eeprom flag
 */
void __vector_25 (void) 
{ 
    static   UINT8 record_to_eeprom;
    volatile UINT8 data_received;
	volatile UINT8 i;
	/* for a 4 digit ascii string to output the number of bytes in the eeprom */
	volatile UINT8 myascii[5]; 
	volatile UINT16 number_of_bytes_in_eeprom;

    /* Set the Data Register Empty flag */
    data_received = drvReadReg(USART0_BASEADDR,USART_UDR_OFFSET);
	if (data_received == RECORDING_CONTROL_CHAR) {
	    /* if currently recording then stop else start recording */
	    if(!record_to_eeprom) {
			/* reset character count */
			drvResetEepromDataCount();
	        record_to_eeprom = TRUE;
        } else {
		    record_to_eeprom = FALSE;
        }
    } else if (data_received == PLAYBACK_CHAR)  {
			for(i = 1;i < next_eeprom_address;i++)
	            drvUSARTPutChar(drvReadEeprom(i));
    } else if (data_received == DUMP_NUMBER_OF_BYTES_CHAR) {
	            /* initialize array */
	            for (i=0;i<sizeof(myascii);i++) myascii[i]='\0';
				/* read the write count from eeprom and convert to ascii */
				number_of_bytes_in_eeprom = drvReadEeprom(0);
				if (number_of_bytes_in_eeprom >= 0)	{			
	                myitoa((UINT8 *)myascii,sizeof(myascii)-1,number_of_bytes_in_eeprom);
				    /* send out the serial port */
                    drvUSARTWriteString((UINT8 *)myascii,sizeof(myascii));                   
                } else {
				    drvUSARTPutChar('0');
                } 
		    	drvUSARTWriteString((UINT8 *)CR_LF_STRING,sizeof(CR_LF_STRING));
	} else if (record_to_eeprom) {
            drvWriteEeprom(next_eeprom_address, data_received);
			drvUpdateEepromDataCount();
	        drvUSARTPutChar(data_received);
	        if (data_received == CR_CHAR) {
				drvWriteEeprom(next_eeprom_address, LF_CHAR);
			    drvUpdateEepromDataCount();
		        drvUSARTPutChar(LF_CHAR);
            } else if (data_received == BACKSPACE_CHAR) {
			    drvUpdateEepromDataCount(-1);
                drvWriteEeprom(next_eeprom_address, data_received);
	        }

    } else 
	        drvUSARTPutChar(data_received);



	sei();
}
示例#9
0
int Solution::evalRPN(vector<string> &tokens) {
	stack<string> sstack;
	if (tokens.size() < 2)
		return myatoi(tokens[0]);
	int i = 2;
	sstack.push(tokens[0]);
	sstack.push(tokens[1]);
	while (!sstack.empty())
	{
		if (i >= tokens.size())
			break;
		string str = tokens[i++];
		if ((str[0]<'0' || str[0]>'9') && str.size() == 1)
		{
			string str1 = sstack.top();
			sstack.pop();
			int i2 = myatoi(str1);
			string str2 = sstack.top();
			sstack.pop();
			int i1 = myatoi(str2);
			switch (str[0])
			{
			case '+':
				sstack.push(myitoa(i1 + i2));
				break;
			case '-':
				sstack.push(myitoa(i1 - i2));
				break;
			case '*':
				sstack.push(myitoa(i1 * i2));
				break;
			case '/':
				sstack.push(myitoa(i1 / i2));
				break;
			}
		}
		else
		{
			sstack.push(str);
		}
	}
	return myatoi(sstack.top());
}
示例#10
0
文件: Ui.c 项目: kichik/nsis-1
static void NSISCALL set_language()
{
  LANGID lang_mask=(LANGID)~0;
  LANGID lang=myatoi(state_language);
  char *language_table=0;
  int lang_num;
  int *selected_langtable=0;

  // Jim Park: We are doing byte offsets to get to various data structures so
  // no TCHARs here.
lang_again:
  lang_num=g_blocks[NB_LANGTABLES].num;
  while (lang_num--) {
    language_table=((char*)g_blocks[NB_LANGTABLES].offset)+lang_num*g_header->langtable_size;
    if (!((lang ^ *(LANGID*)language_table) & lang_mask)) {
      dlg_offset=*(int*)(language_table+sizeof(LANGID));
      g_exec_flags.rtl=*(int*)(language_table+sizeof(LANGID)+sizeof(int));
      selected_langtable=(int*)(language_table+sizeof(LANGID)+2*sizeof(int));
      break;
    }
  }
  if (!selected_langtable) {
    if (lang_mask == (LANGID)~0)
      lang_mask=0x3ff; // primary lang
    else // we already tried once and we still don't have a language table
      lang_mask=0; // first lang
    goto lang_again;
  }

  cur_langtable = selected_langtable;

  myitoa(state_language, *(LANGID*)language_table);
  {
    TCHAR *caption = GetNSISString(g_caption,LANG_CAPTION);
#ifdef NSIS_SUPPORT_BGBG
    my_SetWindowText(m_bgwnd, caption);
#endif
  }

  // reload section names
  {
    section *sec = g_sections;
    int x = num_sections;

    while (x--)
    {
      if (sec->name_ptr)
      {
        GetNSISString(sec->name, sec->name_ptr);
      }
      sec++;
    }
  }
}
示例#11
0
int main()
{
	int n = -43452;
	char p[M];

	myitoa(n, p);
	reverse(p);

	printf("%s\n",p);

	return 0;
}
示例#12
0
void get_cur_time(char *time_str)
{
    time_t timep;
    struct tm *p_curtime = NULL;
    char *time_tmp = NULL;
    time_tmp = (char *)malloc(2);
    memset(time_tmp, 0, 2);

    memset(time_str, 0, 20);
    time(&timep);
    p_curtime = localtime(&timep);
    strcat(time_str, "(");
    myitoa(p_curtime->tm_hour,time_tmp);
    strcat(time_str,time_tmp);
    strcat(time_str,":");
    myitoa(p_curtime->tm_min,time_tmp);
    strcat(time_str,time_tmp);
    strcat(time_str,":");
    myitoa(p_curtime->tm_sec,time_tmp);
    strcat(time_str,time_tmp);
    strcat(time_str,")");
    free(time_tmp);
}
示例#13
0
int main()
{
	int myInt;
	myInt = (int) 0xFFFFFFE2;
	printf("%d\n",myInt);

	char s[] = "                                          ";
	myitoa(18, s);
	printf("18: %s\n", s);

	int i2;
	i2 = (int) 0xFFFFFFFF;
	myitoa(i2, s);
	printf("%d: %s\n", i2, s);
	printf("-33 %% 10: %d\n", (-33) % 10);
	printf("abs(-33 %% 10 ): %d\n", abs((-33) % 10));
	printf("abs(-33 %% 20 ): %d\n", (-33 % 20));
	printf("abs(-33 %% 21 ): %d\n", (-33 % 21));

	printf("INT_MIN: %d, INT_MAX: %d\n", INT_MIN, INT_MAX);
	printf("INT_MIN - 1: %d, INT_MAX + 1: %d\n", INT_MIN - 1, INT_MAX + 1);


	printf("\nitoa from book:\n");
	itoa(INT_MIN + 1, s);
	printf("%d: %s\n", INT_MIN + 1, s);
	itoa(INT_MIN, s);
	printf("%d: %s\n", INT_MIN, s);

	printf("\nfixed itoa:\n");
	myitoa(INT_MIN + 1, s);
	printf("%d: %s\n", INT_MIN + 1, s);
	myitoa(INT_MIN, s);
	printf("%d: %s\n", INT_MIN, s);

}
示例#14
0
文件: Ui.c 项目: kichik/nsis-1
static DWORD WINAPI newTreeWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  static LPARAM last_item=-1;
  if (uMsg == WM_CHAR && wParam == (WPARAM)' ')
  {
    NotifyCurWnd(WM_TREEVIEW_KEYHACK);
    return 0;
  }
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
  if (uMsg == WM_DESTROY) {
    last_item=-1;
  }
  if (uMsg == WM_MOUSEMOVE) {
    TVITEM tvItem;

    if (IsWindowVisible(hwnd)) {
      tvItem.hItem = TreeHitTest(hwnd);

      lParam = -1;

      if (tvItem.hItem)
      {
        tvItem.mask = TVIF_PARAM;

        TreeView_GetItem(hwnd, &tvItem);

        lParam = tvItem.lParam;
      }
      uMsg = WM_NOTIFY_SELCHANGE;
    }
  }
  if (uMsg == WM_NOTIFY_SELCHANGE) {
    if (last_item != lParam)
    {
      last_item = lParam;

      mystrcpy(g_tmp, g_usrvars[0]);

      myitoa(g_usrvars[0], lParam);

      ExecuteCodeSegment(g_header->code_onMouseOverSection,NULL);

      mystrcpy(g_usrvars[0], g_tmp);
    }
  }
#endif//NSIS_SUPPORT_CODECALLBACKS && NSIS_CONFIG_ENHANCEDUI_SUPPORT
  return CallWindowProc((WNDPROC)oldTreeWndProc,hwnd,uMsg,wParam,lParam);
}
示例#15
0
文件: Ui.c 项目: kichik/nsis-1
static DWORD WINAPI newTreeWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  static LPARAM last_item=-1;
  if (uMsg == WM_KEYDOWN && wParam == VK_SPACE)
  {
    SendMessage(m_curwnd,WM_TREEVIEW_KEYHACK,0,0);
  }
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
  if (uMsg == WM_DESTROY) {
    last_item=-1;
  }
  if (uMsg == WM_MOUSEMOVE) {
    TVITEM tvItem;

    if (GetWindowLong(hwnd, GWL_STYLE) & WS_VISIBLE) {
      tvItem.hItem = TreeHitTest(hwnd);
      
      lParam = -1;

      if (tvItem.hItem)
      {
        tvItem.mask = TVIF_PARAM;

        TreeView_GetItem(hwnd, &tvItem);
        
        lParam = tvItem.lParam;
      }
      uMsg = WM_NOTIFY_SELCHANGE;
    }
  }
  if (uMsg == WM_NOTIFY_SELCHANGE) {
    if (last_item != lParam)
    {
      last_item = lParam;

      mystrcpy(g_tmp, g_usrvars[0]);

      myitoa(g_usrvars[0], lParam);

      ExecuteCodeSegment(g_header->code_onMouseOverSection,NULL);

      mystrcpy(g_usrvars[0], g_tmp);
    }
  }
#endif//NSIS_SUPPORT_CODECALLBACKS && NSIS_CONFIG_ENHANCEDUI_SUPPORT
  return CallWindowProc((WNDPROC)oldTreeWndProc,hwnd,uMsg,wParam,lParam);
}
示例#16
0
文件: genhtml.c 项目: ICGog/Dron
void gen_urls() {
  int numurls = numsites * filespersite;
  int i,j,k;

  urls = (char **)malloc(sizeof(char *) * numurls);
  for (i = 0; i < numsites; i++) {
    for (j = 0; j < filespersite; j++) {
      int len = (int)((frand() * (maxurllen - minurllen)) + minurllen);
      //printf ("len = %d\n", len);
      char *str = (char *)malloc((sizeof(char) * len)+17);
      urls[i * filespersite + j] = str;
      sprintf(str, "http://%d", i);
      for ( k = strlen(str); k < len; k++) {
	str[k] = myitoa(26 * frand());
      }
      str[len] =0;
      sprintf(str + strlen(str), ".html");
      //printf ("%s\n",str);
    }

  }
}
示例#17
0
文件: exe4.c 项目: Geovo/iCu
int main(int argc, char *argv[])
{
    // awesome code goes here:
    char *s = "hello there!";
    char x[20];
    mystrcpy(x, s);
    my_reverse(x);

    printf("%s\n---------------------\n", x);
    char z[] = "184";
    printf("%i\n", myatoi(z));

    char a[10];
    myitoa(a, 192);
    printf("%s\n", a);

    char h[] = "Kristian";
    int res = myindex(h, "s");
    printf("s is at position %i in 'Kristian'\n", res);

    return 0;
}
示例#18
0
/*
 * Double clicked on an RGB slider
 */
void
do_rgb( int slider, int base, int index )
{
     int   CurValue;
     GRECT orect;
     MRETS mk;

     ActiveTree( ad_tree );
     orect = ObRect( slider );
     objc_offset( ad_tree, slider, &orect.g_x, &orect.g_y );

     ActiveTree( ad_slide2 );
     ObX( CSLIDERS ) = ObX( EXIT2 ) = orect.g_x -= 2;
     ObY( CSLIDERS ) = ObY( EXIT2 ) = orect.g_y -= 2;
     ObW( CSLIDERS ) = orect.g_w += 3;
     ObH( CSLIDERS ) = orect.g_h += 4;

     myitoa( curscrn[ index ], &PenNum[0] );
     TedText( CSLIDERS ) = PenNum;
  
     ObjcDraw( ad_slide2, CSLIDERS, 0, NULL );
     form_do( ad_slide2, CSLIDERS );
	
     if( strlen( TedText( CSLIDERS ) ) )
     {    			    
       CurValue = atoi( TedText( CSLIDERS ) );
       CurValue = min( CurValue, 1000 );
       CurValue = max( CurValue, 0 );
       curscrn[ index ] = CurValue;
     }
     Deselect( CSLIDERS );
     Deselect( EXIT2 );
   
     ActiveTree( ad_tree );
     adjcol();
     update_slid( base, slider, curscrn[index], 0, 1000, 1 );
     EvntButton( 1, 1, 0, &mk );
}
示例#19
0
文件: main.c 项目: conghui/books
int main(void)
{
    char buf[BUFSIZ];
    puts(myitoa(128, buf, 5));
    return 0;
}
示例#20
0
文件: Ui.c 项目: kichik/nsis-1
FORCE_INLINE int NSISCALL ui_doinstall(void)
{
  header *header = g_header;
  static WNDCLASS wc; // richedit subclassing and bgbg creation

  // detect default language
  // more information at:
  //   http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_0xrn.asp

  LANGID (WINAPI *GUDUIL)();

  GUDUIL = myGetProcAddress(MGA_GetUserDefaultUILanguage);
  if (GUDUIL)
  {
    // Windows ME/2000+
    myitoa(state_language, GUDUIL());
  }
  else
  {
    static const TCHAR reg_9x_locale[]     = _T("Control Panel\\Desktop\\ResourceLocale");
    static const TCHAR reg_nt_locale_key[] = _T(".DEFAULT\\Control Panel\\International");
    const TCHAR       *reg_nt_locale_val   = &reg_9x_locale[30]; // = _T("Locale") with opt

    state_language[0] = _T('0');
    state_language[1] = _T('x');
    state_language[2] =     0;

    {
      // Windows 9x
      myRegGetStr(HKEY_CURRENT_USER, reg_9x_locale, NULL, g_tmp, 0);
    }

    if (!g_tmp[0])
    {
      // Windows NT
      // This key exists on 9x as well, so it's only read if ResourceLocale wasn't found
      myRegGetStr(HKEY_USERS, reg_nt_locale_key, reg_nt_locale_val, g_tmp, 0);
    }

    mystrcat(state_language, g_tmp);
  }

  // set default language
  set_language();

  // initialize auto close flag
  g_exec_flags.autoclose=g_flags&CH_FLAGS_AUTO_CLOSE;

#ifdef NSIS_CONFIG_PLUGIN_SUPPORT
  // initialize plugin api
  g_exec_flags.plugin_api_version=NSISPIAPIVER_CURR;
#endif

  // read install directory from registry
  if (!is_valid_instpath(state_install_directory))
  {
    if (header->install_reg_key_ptr)
    {
      myRegGetStr(
        (HKEY)header->install_reg_rootkey,
        GetNSISStringNP(header->install_reg_key_ptr),
        GetNSISStringNP(header->install_reg_value_ptr),
        ps_tmpbuf,
        0
      );
      if (ps_tmpbuf[0])
      {
        TCHAR *p=ps_tmpbuf;
        TCHAR *e;
        if (p[0]==_T('\"'))
        {
          TCHAR *p2;
          p++;
          p2 = findchar(p, _T('"'));
          *p2 = 0;
        }
        // p is the path now, check for .exe extension

        e=p+mystrlen(p)-4;
        if (e > p)
        {
          // if filename ends in .exe, and is not a directory, remove the filename
          if (!lstrcmpi(e, _T(".exe"))) // check extension
          {
            DWORD d;
            d=GetFileAttributes(p);
            if (d == INVALID_FILE_ATTRIBUTES || !(d&FILE_ATTRIBUTE_DIRECTORY))
            {
              // if there is no back-slash, the string will become empty, but that's ok because
              // it would make an invalid instdir anyway
              trimslashtoend(p);
            }
          }
        }
        mystrcpy(state_install_directory,addtrailingslash(p));
      }
    }
  }
  if (!is_valid_instpath(state_install_directory))
  {
    GetNSISString(state_install_directory,header->install_directory_ptr);
  }

#ifdef NSIS_CONFIG_LOG
  if (g_flags & CH_FLAGS_SILENT_LOG && !g_is_uninstaller)
  {
#if !defined(NSIS_CONFIG_LOG_ODS) && !defined(NSIS_CONFIG_LOG_STDOUT)
    build_g_logfile();
#endif
    log_dolog=1;
  }
#endif

#ifdef NSIS_CONFIG_VISIBLE_SUPPORT
  g_hIcon=LoadImage(g_hInstance,MAKEINTRESOURCE(IDI_ICON2),IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_SHARED);
#ifdef NSIS_SUPPORT_BGBG
  if (header->bg_color1 != -1)
  {
    LPCTSTR cn = _T("_Nb");
    RECT vp;
    extern LRESULT CALLBACK BG_WndProc(HWND, UINT, WPARAM, LPARAM);
    wc.lpfnWndProc = BG_WndProc;
    wc.hInstance = g_hInstance;
    wc.hIcon = g_hIcon;
    //wc.hCursor = LoadCursor(NULL,IDC_ARROW);
    wc.lpszClassName = cn;

    if (!RegisterClass(&wc)) return 0;

    SystemParametersInfo(SPI_GETWORKAREA, 0, &vp, 0);

    m_bgwnd = CreateWindowEx(WS_EX_TOOLWINDOW,cn,0,WS_POPUP,
      vp.left,vp.top,vp.right-vp.left,vp.bottom-vp.top,0,NULL,g_hInstance,NULL);
  }

#endif//NSIS_SUPPORT_BGBG

#endif//NSIS_CONFIG_VISIBLE_SUPPORT

#ifdef NSIS_SUPPORT_CODECALLBACKS
  // Select language
  if (ExecuteCallbackFunction(CB_ONINIT)) return 2;
  set_language();
#endif

#ifdef NSIS_CONFIG_VISIBLE_SUPPORT

#ifdef NSIS_CONFIG_SILENT_SUPPORT
  if (!g_exec_flags.silent)
#endif//NSIS_CONFIG_SILENT_SUPPORT
  {
#ifdef NSIS_SUPPORT_BGBG
    ShowWindow(m_bgwnd, SW_SHOW);
#endif//NSIS_SUPPORT_BGBG

#ifdef NSIS_CONFIG_LICENSEPAGE
    { // load richedit DLL
      static const TCHAR riched20[]=_T("RichEd20");
      static const TCHAR riched32[]=_T("RichEd32");
#ifdef UNICODE
      static const TCHAR richedit20t[]=_T("RichEdit20W");
#else
      static const TCHAR richedit20t[]=_T("RichEdit20A");
#endif
      static const TCHAR richedit[]=_T("RichEdit");
      if (!LoadLibrary(riched20))
      {
        LoadLibrary(riched32); // Win95 only ships with v1.0, NT4 has v2.0: web.archive.org/web/20030607222419/http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/richedit/richeditcontrols/aboutricheditcontrols.asp
      }

      // make richedit20a/w point to RICHEDIT
      if (!GetClassInfo(NULL,richedit20t,&wc))
      {
        GetClassInfo(NULL,richedit,&wc);
        wc.lpszClassName = richedit20t;
        RegisterClass(&wc);
      }
    }

#endif

    {
      int ret=DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_INST+dlg_offset),0,DialogProc);
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
      ExecuteCallbackFunction(CB_ONGUIEND);
#endif
#ifdef NSIS_CONFIG_PLUGIN_SUPPORT
      Plugins_SendMsgToAllPlugins(NSPIM_GUIUNLOAD);
#endif
      return ret;
    }
  }
#endif//NSIS_CONFIG_VISIBLE_SUPPORT
#ifdef NSIS_CONFIG_SILENT_SUPPORT
#ifdef NSIS_CONFIG_VISIBLE_SUPPORT
  else
#endif//NSIS_CONFIG_VISIBLE_SUPPORT
  {
    if (install_thread(NULL))
    {
#ifdef NSIS_SUPPORT_CODECALLBACKS
      if (!g_quit_flag) ExecuteCallbackFunction(CB_ONINSTFAILED);
#endif//NSIS_SUPPORT_CODECALLBACKS
      return 2;
    }
#ifdef NSIS_SUPPORT_CODECALLBACKS
    ExecuteCallbackFunction(CB_ONINSTSUCCESS);
#endif//NSIS_SUPPORT_CODECALLBACKS

    return 0;
  }
#endif//NSIS_CONFIG_SILENT_SUPPORT
}
示例#21
0
int main(void)
{
	myitoa(123);
	return 0;
}
示例#22
0
文件: main.c 项目: yunpiao/xiangmu
 void main()
 {
	 float adc_a;
	 float adc_data;
	 int i = 0, k = 0;
	 
	 char send_flag = 0;//1 发送成功  0 重发

	 //  Ds1302Init();	//ds1302初始化函数,更改时间需要用到此函数
	 inituart();
	 init_adc();
	 delayms(1);
	 lcdinit();	
	 charsend("AT+CLTS=1\r\n");	 
	 
	  delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);
	 delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);
	 time_a();//时钟初始化
	 delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);
	 delayms(200);delayms(200);delayms(200);delayms(200);
	 delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);
	 delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);
	 while (1)
	 {
		 while (clk_count_last != clk_count)

		 {
			 if (gprs_allow_flag == 1)
			 {
				 delayms(100);
				 gprs_allow_flag = 0;
				 rec_fin = 0;
					
						    time_a();//时钟初始化
					    
	 delayms(200);delayms(200);delayms(200);delayms(200);delayms(200);
	 time_a();//时钟初始化
	 delayms(200);delayms(200);delayms(200);delayms(200);
	 

				 charsend("AT+CIPSEND=183\r\n");	  delayms(100);
				 charsend("POST /data HTTP/1.1\r\nHost:121.40.171.93\r\nContent-Length:87\r\nAuthorization:Basic dGVzdDp0ZXN0\r\n\r\n");
				 charsend(http_post);
			 }
			 if (gprs_fin_flag == 1&& gprs_fin_flag_2 == 1)
			 {
				
				 gprs_fin_flag = 0;
						    
				 e_gprs = 0;  //互斥访问
				 charsend("ok2222222222222222");
			 }
			 if (gprs_fin_flag == 1 && gprs_fin_flag_1 == 1)
			 {
				 
				 gprs_fin_flag = 0;

				 e_gprs = 0;  //互斥访问
				 charsend("ok11111111");
			 }

						 clk_count_last = clk_count + 1;
		 }
		   clk_count_last = clk_count + 1;
		 	clk_count_last = clk_count_last % 600;
			 //datasend( get_ad());
//	http_post[54] = (int)chao_data_avg_s % 10 + 48;    //传感器数据存在http_post
//	http_post[53] = (int)chao_data_avg_s / 10 % 10 + 48;
//	http_post[51] = (int)chao_data_avg_s / 100 % 10 + 48;
//	http_post[50] = (int)chao_data_avg_s / 100 % 10 + 48;

					  kDisplayListChar(1, 1, myitoa((int)get_ref(),4), 4);
					   kDisplayListChar(1, 2, "13", 6);

					 chao_data[data_count%12] = get_ad();		 ///1024* 5
					tan_data[data_count%12] = get_ref();
					data_count++;		 
					 data_count=data_count%12;

			 
			
			 temper = ReadTemperature();
			 kDisplayListChar(3, 4, strcat(myitoa(temper / 10, 2), "."), 3);
			 kDisplayListChar(5, 4, myitoa(temper % 10, 1), 1);
			   
					

		 //    Ds1302ReadTime();	 		   //时间显示
		 //	time_formchar(time_char);
		 // /********************************************
		 // 	adc_data=get_ad();            //这两句是接压力传感器的处理函数
		 //	range=(adc_data-0x00BD)*0.6; //
		 //*********************************************/
		
			 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

		

			 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

		


		
//		 if (clk_count % 600 % 60 == 0)			   //每分钟
//		 {
//
//			 split(chao_data, 0, 11);
//			 split(tan_data, 0, 11);
//			 chao_data_avg[data_count_avg%10] = average1(chao_data, 4, 7);
//			 tan_data_avg[data_count_avg%10] = average1(tan_data, 4, 7);
//						  data_count++;
//						  data_count_avg=data_count_avg%10;
//						  		 
//			 			 datasend(chao_data_avg[data_count_avg%10]);
//		 }
	
	 }
 }
示例#23
0
文件: Ui.c 项目: kichik/nsis-1
FORCE_INLINE int NSISCALL ui_doinstall(void)
{
  header *header = g_header;
  static WNDCLASS wc; // richedit subclassing and bgbg creation

  // detect default language
  // more information at:
  //   http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_0xrn.asp

  LANGID (WINAPI *GUDUIL)();
  static const char guduil[] = "GetUserDefaultUILanguage";

  GUDUIL = myGetProcAddress(TEXT("KERNEL32.dll"), (char *) guduil);
  if (GUDUIL)
  {
    // Windows ME/2000+
    myitoa(state_language, GUDUIL());
  }
  else
  {
    *(DWORD*)state_language = CHAR4_TO_DWORD('0', 'x', 0, 0);

    {
      // Windows 9x
      static const TCHAR reg_9x_locale[] = TEXT("Control Panel\\Desktop\\ResourceLocale");

      myRegGetStr(HKEY_CURRENT_USER, reg_9x_locale, NULL, g_tmp);
    }

    if (!g_tmp[0])
    {
      // Windows NT
      // This key exists on 9x as well, so it's only read if ResourceLocale wasn't found
      static const TCHAR reg_nt_locale_key[] = TEXT(".DEFAULT\\Control Panel\\International");
      static const TCHAR reg_nt_locale_val[] = TEXT("Locale");

      myRegGetStr(HKEY_USERS, reg_nt_locale_key, reg_nt_locale_val, g_tmp);
    }

    mystrcat(state_language, g_tmp);
  }

  // set default language
  set_language();

  // initialize auto close flag
  g_exec_flags.autoclose=g_flags&CH_FLAGS_AUTO_CLOSE;

  // read install directory from registry
  if (!is_valid_instpath(state_install_directory))
  {
    if (header->install_reg_key_ptr)
    {
      myRegGetStr(
        (HKEY)header->install_reg_rootkey,
        GetNSISStringNP(header->install_reg_key_ptr),
        GetNSISStringNP(header->install_reg_value_ptr),
        ps_tmpbuf
      );
      if (ps_tmpbuf[0])
      {
        TCHAR *p=ps_tmpbuf;
        TCHAR *e;
        if (p[0]==TEXT('\"'))
        {
          TCHAR *p2;
          p++;
          p2 = findchar(p, TEXT('"'));
          *p2 = 0;
        }
        // p is the path now, check for .exe extension

        e=p+mystrlen(p)-4;
        if (e > p)
        {
          // if filename ends in .exe, and is not a directory, remove the filename
          if (!lstrcmpi(e, TEXT(".exe"))) // check extension
          {
            DWORD d;
            d=GetFileAttributes(p);
            if (d == INVALID_FILE_ATTRIBUTES || !(d&FILE_ATTRIBUTE_DIRECTORY))
            {
              // if there is no back-slash, the string will become empty, but that's ok because
              // it would make an invalid instdir anyway
              trimslashtoend(p);
            }
          }
        }

        mystrcpy(state_install_directory,addtrailingslash(p));
      }
    }
  }
  if (!is_valid_instpath(state_install_directory))
  {
    GetNSISString(state_install_directory,header->install_directory_ptr);
  }

#ifdef NSIS_CONFIG_LOG
  if (g_flags & CH_FLAGS_SILENT_LOG && !g_is_uninstaller)
  {
#if !defined(NSIS_CONFIG_LOG_ODS) && !defined(NSIS_CONFIG_LOG_STDOUT)
    build_g_logfile();
#endif
    log_dolog=1;
  }
#endif

#ifdef NSIS_CONFIG_VISIBLE_SUPPORT
  g_hIcon=LoadImage(g_hInstance,MAKEINTRESOURCE(IDI_ICON2),IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_SHARED);
#ifdef NSIS_SUPPORT_BGBG
  if (header->bg_color1 != -1)
  {
    QTCHAR cn = CHAR4_TO_DWORD(TEXT('_'), TEXT('N'), TEXT('b'), 0);
    RECT vp;
    extern LRESULT CALLBACK BG_WndProc(HWND, UINT, WPARAM, LPARAM);
    wc.lpfnWndProc = BG_WndProc;
    wc.hInstance = g_hInstance;
    wc.hIcon = g_hIcon;
    //wc.hCursor = LoadCursor(NULL,IDC_ARROW);
    wc.lpszClassName = (LPCTSTR)&cn;

    if (!RegisterClass(&wc)) return 0;

    SystemParametersInfo(SPI_GETWORKAREA, 0, &vp, 0);

    m_bgwnd = CreateWindowEx(WS_EX_TOOLWINDOW,(LPCTSTR)&cn,0,WS_POPUP,
      vp.left,vp.top,vp.right-vp.left,vp.bottom-vp.top,0,NULL,g_hInstance,NULL);
  }

#endif//NSIS_SUPPORT_BGBG

#endif//NSIS_CONFIG_VISIBLE_SUPPORT

#ifdef NSIS_SUPPORT_CODECALLBACKS
  // Select language
  if (ExecuteCallbackFunction(CB_ONINIT)) return 2;
  set_language();
#endif

#ifdef NSIS_CONFIG_VISIBLE_SUPPORT

#ifdef NSIS_CONFIG_SILENT_SUPPORT
  if (!g_exec_flags.silent)
#endif//NSIS_CONFIG_SILENT_SUPPORT
  {
#ifdef NSIS_SUPPORT_BGBG
    ShowWindow(m_bgwnd, SW_SHOW);
#endif//NSIS_SUPPORT_BGBG

#ifdef NSIS_CONFIG_LICENSEPAGE
    { // load richedit DLL
      static TCHAR str1[]=TEXT("RichEd20.dll");
#ifdef UNICODE
      static wchar_t str2[]=L"RichEdit20W";
#else
			static char str2[]="RichEdit20A";
#endif
      if (!LoadLibrary(str1))
      {
        *(DTCHAR*)(str1+6) = CHAR2_TO_WORD(TEXT('3'),TEXT('2'));
        LoadLibrary(str1);
      }

      // make richedit20a point to RICHEDIT
      if (!GetClassInfo(NULL,str2,&wc))
      {
        str2[8]=0;
        GetClassInfo(NULL,str2,&wc);
        wc.lpszClassName = str2;
        str2[8]=TEXT('2');
        RegisterClass(&wc);
      }
    }
#endif

    {
      int ret=DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_INST+dlg_offset),0,DialogProc);
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
      ExecuteCallbackFunction(CB_ONGUIEND);
#endif
      return ret;
    }
  }
#endif//NSIS_CONFIG_VISIBLE_SUPPORT
#ifdef NSIS_CONFIG_SILENT_SUPPORT
#ifdef NSIS_CONFIG_VISIBLE_SUPPORT
  else
#endif//NSIS_CONFIG_VISIBLE_SUPPORT
  {
    if (install_thread(NULL))
    {
#ifdef NSIS_SUPPORT_CODECALLBACKS
      if (!g_quit_flag) ExecuteCallbackFunction(CB_ONINSTFAILED);
#endif//NSIS_SUPPORT_CODECALLBACKS
      return 2;
    }
#ifdef NSIS_SUPPORT_CODECALLBACKS
    ExecuteCallbackFunction(CB_ONINSTSUCCESS);
#endif//NSIS_SUPPORT_CODECALLBACKS

    return 0;
  }
#endif//NSIS_CONFIG_SILENT_SUPPORT
}
/*
 * Convert a pointer to a base 10 string representation
 * @param pntr The pointer to be converted
 * @return the character representation of pntr in base 10
 */
char* address_to_string( void *pntr ) {
	unsigned int vpntr = (uintptr_t) pntr;
	return myitoa(vpntr, 10);
}
示例#25
0
/* cpx_call()
 * ======================================================================
 * Called ONLY when the CPX is being executed. Note that it is CPX_INIT()
 * that returned the ptr to cpx_call().
 * CPX_CALL() is the entry point to displaying and manipulating the
 * dialog box.
 *
 * IN: GRECT *rect:	Ptr to a GRECT that describes the current work
 *			area of the XControl window.
 *
 * OUT:
 *   FALSE:     The CPX has exited and no more messages are
 *		needed.  XControl will either return to its
 *		main menu or close its windows.
 *		This is used by XForm_do() type CPXs.
 *
 *   TRUE:	The CPX requests that XCONTROL continue to
 *		send AES messages.  This is used by Call-type CPXs.
 */
BOOLEAN
cpx_call( GRECT *rect )
{
     int     button;
     int     quit = 0;
     WORD    msg[8], clip[4];
     MRETS   mk;
     int     ox, oy;
     BOOLEAN dclick;
     int     CurPen;
     GRECT   orect;

     ActiveTree( ad_tree );

     WindGet(0, WF_WORKXYWH, &desk );	/* set clipping to */
     rc_2xy( &desk, clip );			/*   Desktop space */

     open_vwork();
     vs_clip( vhandle, 1, ( int *)clip );
     ObX( ROOT ) = rect->g_x;
     ObY( ROOT ) = rect->g_y;
     ObjcDraw( tree, ROOT, MAX_DEPTH, NULL );
     draw_boxes();			/* draw the color boxes */
     outline( curbox, HILITE );		/* show selected box */
     close_vwork();

     
     do
     {
        dclick = FALSE;
	button = (*xcpb->Xform_do)( tree, 0, msg );

	if(( button != -1 ) && ( button & 0x8000 ) )
        {
	   dclick = TRUE;
	   button &= 0x7fff;
        }

     	switch( button )
     	{
	   case CCANCEL:
		         cnclchgs();			/* cancel all changes made */
     	
     	   case C*K: quit = TRUE;
     	   	     Deselect( button );
     	   	     break;

 	   case CRELOAD:		/* reload saved user-preference */
	   		if( saved )
	   		  init(&usr_vals);
	   		else
	   		  init(&def_vals);
		        update_rgb(1);	/* update RGB on screen */

			/* Redraw the boxes deliberately */
		        open_vwork();
		        rc_2xy( &desk, clip );		/*   Desktop space */
			vs_clip( vhandle, 1, ( int *)clip );
			draw_boxes();			/* draw the color boxes */
			close_vwork();

			
	   		XDeselect( tree, button );
			break;


	   case CSAVE:	/* save current values */
			if ((*xcpb->XGen_Alert)(SAVE_DEFAULTS) == TRUE)
			{
			    (*xcpb->MFsave)(MFSAVE, &orig_mf);
			    if( AES_Version >= 0x0320 )
			        graf_mouse( BUSYBEE, 0L );
					
			    savergb();			/* save color info */
							/* update RGBs */
			    cpyrgb((RGB *)&oldrgb, (RGB *)&newrgb, numcol );	

			    /* save current data to file */
			    saved = 1;
			    (*xcpb->CPX_Save)((void *)&saved, sizeof(DEFAULTS)+2);
 	    		    (*xcpb->MFsave)(MFRESTORE, &orig_mf);
			}
			XDeselect( tree, button );
	   		break;


	   case CUP:
	   		(*xcpb->Sl_arrow)(tree, CBASE, CSLIDE, CUP, -1, 
	    			col_max, col_min, &curcol, VERTICAL, nxtrow);
	    		break;
	    		
	   case CDOWN:
	    		(*xcpb->Sl_arrow)(tree, CBASE, CSLIDE, CDOWN, 1, 
	    			col_max, col_min, &curcol, VERTICAL, nxtrow);
	    		break;


   	   case CSLIDE:
			if( dclick )	/* if double-click */
			{
			    ActiveTree( ad_tree );
			    orect = ObRect( CSLIDE );
			    objc_offset( ad_tree, CSLIDE, &orect.g_x, &orect.g_y );
			    
			    ActiveTree( ad_slide1 );
			    ObX( CTSLIDE ) = ObX( EXIT1 ) = ( orect.g_x - 2 );
			    ObY( CTSLIDE ) = ObY( EXIT1 ) = ( orect.g_y - 2 );
			    ObW( CTSLIDE ) = ( orect.g_w + 3 );
			    ObH( CTSLIDE ) = ( orect.g_h + 4 );

			    myitoa( curcol, &PenNum[0] );
			    TedText( CTSLIDE ) = PenNum;

			    ObjcDraw( ad_slide1, CTSLIDE, 0, NULL );
			    form_do( ad_slide1, CTSLIDE );

			    if( strlen( TedText( CTSLIDE ) ) )
			    {
			    			    
			      CurPen = atoi( TedText( CTSLIDE ) );
			      CurPen = min( CurPen, col_max );
			      CurPen = max( CurPen, col_min );
			      curcol = CurPen;
			      Deselect( CTSLIDE );
			      Deselect( EXIT1 );
			
			      ActiveTree( ad_tree );
			      ObjcDraw( ad_tree, CSLIDE, MAX_DEPTH, NULL );
			    
		   	      headcol = ( curcol / COL_PER_BNK )* COL_PER_BNK;
			      open_vwork();
			      rc_2xy( &desk, clip );	
			      vs_clip( vhandle, 1, ( int *)clip );
			      draw_boxes();
     			      close_vwork();
			      nxtgrp();
			      update_slid( CBASE, CSLIDE, curcol, col_max, col_min, 1 );
			    }
			    else
                            {
			      Deselect( CTSLIDE );
			      Deselect( EXIT1 );
			      ActiveTree( ad_tree );
			      ObjcDraw( ad_tree, CSLIDE, MAX_DEPTH, NULL );
                            }
			    EvntButton( 1, 1, 0, &mk );
			}
			else
 			{
			  (*xcpb->MFsave)(MFSAVE, &orig_mf);
			  if( AES_Version >= 0x0320 )
			      graf_mouse( FLAT_HAND, 0L );

          		  if(( AES_Version >= 0x0330 )
	      		      && ( numcol > LWHITE ) )
			     XSelect( tree, CSLIDE );

	    		  (*xcpb->Sl_dragy)(tree, CBASE, CSLIDE, col_max, 
	    			col_min, &curcol, nxtgrp);

          		  if(( AES_Version >= 0x0330 )
	      		      && ( numcol > LWHITE ) )
			      XDeselect( tree, CSLIDE );
	    		  (*xcpb->MFsave)(MFRESTORE, &orig_mf);
			}
			break;

	   case CBASE:  
			Graf_mkstate(&mk);
		        objc_offset(tree, CSLIDE, &ox, &oy);
			if(mk.y < oy)
			    oy = -col_page;
			else
			    oy = col_page;
			curslid = CSLIDE;
			(*xcpb->Sl_arrow)(tree, CBASE, CSLIDE, -1, oy, 
   		     			 col_max, col_min, &curcol, VERTICAL, nxtpage);

	    		break;


	   case RUP:    Do_Up( RBASE, RSLIDE, RUP, R );
	    		break;
	    		
	   case RDOWN:  Do_Down( RBASE, RSLIDE, RDOWN, R );
	    		break;
	    		
	   case RSLIDE: Do_Slider( RBASE, RSLIDE, R, dclick );
	    		break;
	    		
	   case RBASE:  Do_Base( RBASE, RSLIDE, R );
	    		break;
	        
  	   case GUP:    Do_Up( GBASE, GSLIDE, GUP, G );
	    		break;
	    		
	   case GDOWN:  Do_Down( GBASE, GSLIDE, GDOWN, G );
	    		break;
	    		
	   case GSLIDE: Do_Slider( GBASE, GSLIDE, G, dclick );
			break;
	    		
	   case GBASE:  Do_Base( GBASE, GSLIDE, G );
	    		break;
	   
	        
	   case BUP:    Do_Up( BBASE, BSLIDE, BUP, B );
	    		break;
	    		
	   case BDOWN:  Do_Down( BBASE, BSLIDE, BDOWN, B );
	    		break;
	    		
	   case BSLIDE: Do_Slider( BBASE, BSLIDE, B, dclick );
			break;
	    		
	   case BBASE:  Do_Base( BBASE, BSLIDE, B );
	    		break;


  	   case TWO01:		/* for ST High rez */
	   case TWO02:
	
	   case FOUR01:		/* for ST Medium rez */
	   case FOUR02:
	   case FOUR03:
	   case FOUR04:
		
	   case BOX0:    	/* for all other rez */
	   case BOX1:
	   case BOX2:
	   case BOX3:
	   case BOX4:
	   case BOX5:
	   case BOX6:
	   case BOX7:
	   case BOX8:
	   case BOX9:
	   case BOX10:
	   case BOX11:
	   case BOX12:
	   case BOX13:
	   case BOX14:
	   case BOX15:
	  		if( button != curbox)	/* select requested color */
	  		{
			    curcol = button - headbox + headcol;
			    nxt_to_show(0);
			    update_slid( CBASE, CSLIDE, curcol, col_max, col_min, 1 );
			}
	   		break;

     	   default:	if( button == -1 )
     			{
     			   switch( msg[0] )
     			   {
     			     case WM_REDRAW: /* redraw the cpx */
		  			     do_redraw((GRECT *)&msg[4], (int *)clip);
     			     		     break;
     			     		     
     			     case AC_CLOSE:  /* treated like a cancel */
	 				     cnclchgs();	/* cancel changes made */
     			     case WM_CLOSED: quit = TRUE; 	/* treated like an OK */
					     break;
					     
			     case CT_KEY:
			     	switch( msg[3] )	/* check which key is returned */
			     	{
					case UNDO:			/* if Undo key */
						   cnclbnk();		/* cancel color changes */
						   update_rgb(1);	/* update RGB on screen */

						   /* Redraw the boxes deliberately */
		        			   open_vwork();
		        			   rc_2xy( &desk, clip );		/*   Desktop space */
						   vs_clip( vhandle, 1, ( int *)clip );
						   draw_boxes();			/* draw the color boxes */
						   close_vwork();

						   break;
						
					case HOME:				/* if Clr Home key */
						   init(&def_vals);	/* init to system defs */
						   update_rgb(1);	/* update RGB on screen */

						   setup_bnk = CLEAN;/*cjg*/	
						   visit_bnk();	     /*cjg*/

						   /* Redraw the boxes deliberately */
		        			   open_vwork();
		        			   rc_2xy( &desk, clip );		/*   Desktop space */
						   vs_clip( vhandle, 1, ( int *)clip );
						   draw_boxes();			/* draw the color boxes */
						   close_vwork();

						   break;
				}

			     		     break;		     
     			     default:
     			     		break;
     			   }
     			}
     			break;
     	}
     }while( !quit);
     return( FALSE );
}
示例#26
0
signed manifest (void const * memory, size_t extent)

{
	uint8_t * offset = (uint8_t *) (memory);
	uint32_t length = (uint32_t) (extent);
	char string [1024];
	while (length > 0)
	{
		struct TLVNode * node = (struct TLVNode *) (offset);
		uint32_t type = LE32TOH (node->type);
		uint32_t size = LE32TOH (node->size);
		uint32_t data = LE32TOH (node->data);

		switch (type)
		{
		case NVM_FIELD_SIGNATURE:
		case NVM_FIELD_BUILD_DATE:
			printf ("\t%s: %08X\n", nvm_fields [type], data);
			break;
		case NVM_FIELD_BUILD_TIME:
			printf ("\t%s: %06X\n", nvm_fields [type], data);
			break;
		case NVM_FIELD_DEVICE_TYPE:
			printf ("\t%s: %04X\n", nvm_fields [type], data);
			break;
		case NVM_FIELD_CHAIN_TYPE:
			printf ("\t%s: %s\n", nvm_fields [type], data < SIZEOF (nvm_chains)? nvm_chains [data]: myitoa (data, string, sizeof (string)));
			break;
		case NVM_FIELD_BUILD_HOSTNAME:
		case NVM_FIELD_BUILD_USERNAME:
		case NVM_FIELD_BUILD_DESCRIPTION:
		case NVM_FIELD_BUILD_VERSION_STRING:
		case NVM_FIELD_BUILD_TYPE:
			printf ("\t%s: %s\n", nvm_fields [type], (char const *) (& node->data));
			break;
		case NVM_FIELD_HARDWARE_COMPAT:
			strfbits (string, sizeof (string), compatibility, "|", data);
			printf ("\t%s: %s\n", nvm_fields [type], string);
			break;
		case NVM_FIELD_MANIFEST_VERSION:
		case NVM_FIELD_CHAIN_MAJOR_VERSION:
		case NVM_FIELD_CHAIN_MINOR_VERSION:
		case NVM_FIELD_BUILD_NUMBER:
		case NVM_FIELD_BUILD_MAJOR_VERSION:
		case NVM_FIELD_BUILD_MINOR_VERSION:
		case NVM_FIELD_BUILD_MAJOR_SUBVERSION:
		case NVM_FIELD_BUILD_SUSTAINING_RELEASE:
		case NVM_FIELD_GENERIC_ID0:
		case NVM_FIELD_GENERIC_ID1:
		case NVM_FIELD_SL_MAJOR_VERSION:
		case NVM_FIELD_SL_MINOR_VERSION:
			printf ("\t%s: %d\n", nvm_fields [type], data);
			break;
		case NVM_FIELD_FREE_SPACE:
			printf ("\t%s: %d/" SIZE_T_SPEC " bytes\n", nvm_fields [type], size, extent);
			break;
		default:
			error (0, 0, "%s: %d", nvm_fields [sizeof (nvm_fields) / sizeof (const char *) - 1], type);
			break;
		}

		length -= sizeof (* node) - sizeof (node->size) +  LE32TOH (node->size);
		offset += sizeof (* node) - sizeof (node->size) +  LE32TOH (node->size);
	}
	return (0);
}