Changeset 4577:e9b3b3b521dd in roaraudio for roard/caps.c


Ignore:
Timestamp:
11/02/10 21:31:36 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

Announce standards via OpenSLP (Closes: #5)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/caps.c

    r4510 r4577  
    5555}; 
    5656 
     57char * stds_string (void) { 
     58 size_t len = g_caps_stds.stds_len * 14; 
     59 char * ret = roar_mm_malloc(len); 
     60 size_t off = 0; 
     61 size_t i; 
     62 int snpret; 
     63 uint32_t cap; 
     64 int version; 
     65 
     66 if ( ret == NULL ) 
     67  return NULL; 
     68 
     69 for (i = 0; i < g_caps_stds.stds_len; i++) { 
     70  cap = g_caps_stds.stds[i]; 
     71  version = ROAR_STD_VERSION(cap); 
     72  if ( version == 0 ) { 
     73   snpret = snprintf(ret+off, len-off, "%i-%i,", ROAR_STD_VENDOR(cap), ROAR_STD_STD(cap)); 
     74  } else { 
     75   snpret = snprintf(ret+off, len-off, "%i-%i-%i,", ROAR_STD_VENDOR(cap), ROAR_STD_STD(cap), version); 
     76  } 
     77  if ( snpret > 0 ) { 
     78   off += snpret; 
     79  } else { 
     80   roar_mm_free(ret); 
     81   return NULL; 
     82  } 
     83 } 
     84 
     85 ret[off-1] = 0; 
     86 
     87 return ret; 
     88} 
     89 
    5790//ll 
Note: See TracChangeset for help on using the changeset viewer.